]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - skins/common/htmlform.js
MediaWiki 1.17.4
[autoinstalls/mediawiki.git] / skins / common / htmlform.js
1 // Find select-or-other fields.
2 addOnloadHook( function() {
3         var fields = getElementsByClassName( document, 'select', 'mw-htmlform-select-or-other' );
4
5         for( var i = 0; i < fields.length; i++ ) {
6                 var select = fields[i];
7
8                 addHandler( select, 'change', htmlforms.selectOrOtherSelectChanged );
9
10                 // Use a fake 'e' to update it.
11                 htmlforms.selectOrOtherSelectChanged( { 'target': select } );
12         }
13 } );
14
15 window.htmlforms = {
16         'selectOrOtherSelectChanged' : function( e ) {
17                 var select;
18                 if ( !e ) {
19                         e = window.event;
20                 }
21                 if ( e.target ) {
22                         select = e.target;
23                 } else if ( e.srcElement ) {
24                         select = e.srcElement;
25                 }
26                 if ( select.nodeType == 3 ) { // defeat Safari bug
27                         select = select.parentNode;
28                 }
29
30                 var id = select.id;
31                 var textbox = document.getElementById( id + '-other' );
32
33                 if ( select.value == 'other' ) {
34                         textbox.disabled = false;
35                 } else {
36                         textbox.disabled = true;
37                 }
38         }
39 };
40