Fix preferences select-or-other for IE
[lhc/web/wiklou.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 var htmlforms = {
16 'selectOrOtherSelectChanged' : function(e) {
17 var select;
18 if (!e) e = window.event;
19 if (e.target) select = e.target;
20 else if (e.srcElement) select = e.srcElement;
21 if (select.nodeType == 3) // defeat Safari bug
22 select = select.parentNode;
23
24 var id = select.id;
25 var textbox = document.getElementById( id+'-other' );
26
27 if (select.value == 'other') {
28 textbox.disabled = false;
29 } else {
30 textbox.disabled = true;
31 }
32 }
33 }
34