Hi All I wonder if someone can help me I have a strange problem, this JavaScript below works wonders in Firefox but in IE I'm able to hide dateDay,dateMO and DateYr BUT NOT timeHr and timeMin why why and why ? All these are from the same form, all are dropdown boxes. <script language="javascript"> function enableField() { document.ebooking.dateDay.disabled=false; document.ebooking.dateMO.disabled=false; document.ebooking.dateYr.disabled=false; document.ebooking.timeHr.disabled=false; document.ebooking.timeMin.disabled=false; } function disableField() { document.ebooking.dateDay.disabled=true; document.ebooking.dateMO.disabled=true; document.ebooking.dateYr.disabled=true; document.ebooking.timeHr.disabled=true; document.ebooking.timeMin.disabled=true; } </script> These are my controls; <table width="60%" border="0" cellspacing="3" cellpadding="3"> <tr> <td> <input type="radio" name="radio" id="asap" value="asap" checked="checked" onclick="disableField()"/> </td> <td>As Soon As Possible</td></tr> <tr><td> <input type="radio" name="radio" id="st" value="st" onclick="enableField()" /></td> <td>Specific Time</td> </tr> </table> and this the form that doesn't work. <table> <tr><td> Hr <select name='timeHr' disabled="true" > <option>00</option> <option>01</option> ... </select> Min <select name="timeMin" disabled="disabled"> <option>00</option> <option>30</option> ... </select></td></tr></table> Thanks in advance Zed
Min <select name="timeMin" disabled="disabled"> should be Min <select name="timeMin" disabled="true"> And try using: document.getElementById(id); to reference the controls. So document.ebooking.dateDay.disabled=false; would become var dayControl = document.getElementById("dateDay"); dayControl.enabled = false; Of course the above is an example the would have to be made for all the enableField and disableField statements. -Jim
Here's the script block: <script language="javascript"> function enableField() { var dayControl = document.getElementById("dateDay"); var monthControl = document.getElementById("dateMO"); var yearControl = document.getElementById("dateYr"); var hourControl = document.getElementById("timeHr"); var minuteControl = document.getElementById("timeMin"); dayControl.enabled = false; monthControl.enabled = false; yearControl.enabled = false; hourControl.enabled = false; minuteControl.enabled = false; } function disableField() { var dayControl = document.getElementById("dateDay"); var monthControl = document.getElementById("dateMO"); var yearControl = document.getElementById("dateYr"); var hourControl = document.getElementById("timeHr"); var minuteControl = document.getElementById("timeMin"); dayControl.enabled = true; monthControl.enabled = true; yearControl.enabled = true; hourControl.enabled = true; minuteControl.enabled = true; } </script>
sorry, mate... can't you just post the whole document or a link to it? nobody will waste time trying to compile bits together. wrong, depends on his doctype, if xhtml then disabled="disabled" is correct. he has no id assigned to time dropdowns: Hr <select name='timeHr' disabled="true" > <option>00</option> <option>01</option> ... </select> Min <select name="timeMin" disabled="disabled"> <option>00</option> <option>30</option> ... </select></td></tr></table> HTML: hence, can't reference with document.getElementById
Thanks Dimitar. I should of looked at the code closer. Here is a complete working example, tested in IE and Firefox: <html> <head> <title></title> <script language="javascript"> function toggleFields(onOff) { if(onOff == 'asap') { // document.ebooking.dateDay.disabled=false; // document.ebooking.dateMO.disabled=false; // document.ebooking.dateYr.disabled=false; document.ebooking.timeHr.disabled=true; document.ebooking.timeMin.disabled=true; } if(onOff == 'st') { // document.ebooking.dateDay.disabled=true; // document.ebooking.dateMO.disabled=true; // document.ebooking.dateYr.disabled=true; document.ebooking.timeHr.disabled=false; document.ebooking.timeMin.disabled=false; } } </script> </head> <body> <form name="ebooking"> <table width="60%" border="0" cellspacing="3" cellpadding="3"> <tr> <td><input type="radio" name="radio" id="asap" value="asap" onclick="toggleFields(this.value);"/> </td> <td>As Soon As Possible</td> </tr> <tr> <td><input type="radio" name="radio" id="st" value="st" onclick="toggleFields(this.value);" /> </td> <td>Specific Time</td> </tr> <tr> <td colspan="2"> Hr <select name='timeHr' disabled="true" > <option>00</option> <option>01</option> </select> Min <select name="timeMin" disabled="true"> <option>00</option> <option>30</option> </select> </td> </tr> </table> </form> </body> </html>