Скрипт работает корректно везде, кроме IE 6
Есть форма, в зависимости от выбора Способа доставки в этой форме, для пользователя должны отображаться различные поля контактных данных. В FF, Опере и Хроме все работает корректно, но в IE 6/7 почему то реагирует на клик с задержкой (обрабатывается предпоследний клик) и видимым также становится поле "Город", второе по счету из обрабатываемых, вместо "Названия полей для самовывоза".
Код: <script type="text/javascript"> function seldost (selectdost){ var useragent=navigator.userAgent; if (useragent.indexOf('MSIE')!= -1) {if ((selectdost)=="samovivoz") { document.getElementById("samov").style.display = 'block'; document.getElementById("dost_mosobl").style.displ ay = 'none'; document.getElementById("dost_reg").style.display = 'none'; document.getElementById("city").style.display = 'none'; document.getElementById("index").style.display = 'none'; document.getElementById("street").style.display = 'none'; document.getElementById("house").style.display = 'none'; document.getElementById("building").style.display = 'none'; document.getElementById("flat").style.display = 'none'; } else { document.getElementById("city").style.display = 'block'; document.getElementById("index").style.display = 'block'; document.getElementById("street").style.display = 'block'; document.getElementById("house").style.display = 'block'; document.getElementById("building").style.display = 'block'; document.getElementById("flat").style.display = 'block'; } if ((selectdost)=="dost_msk") { document.getElementById("samov").style.display = 'none'; document.getElementById("dost_mosobl").style.displ ay = 'block'; document.getElementById("dost_reg").style.display = 'none'; } if ((selectdost)=="dost_rg") { document.getElementById("samov").style.display = 'none'; document.getElementById("dost_mosobl").style.displ ay = 'none'; document.getElementById("dost_reg").style.display = 'block'; } } else { if ((selectdost)=="samovivoz") { document.getElementById("samov").style.display = 'table-row'; document.getElementById("dost_mosobl").style.displ ay = 'none'; document.getElementById("dost_reg").style.display = 'none'; document.getElementById("city").style.display = 'none'; document.getElementById("index").style.display = 'none'; document.getElementById("street").style.display = 'none'; document.getElementById("house").style.display = 'none'; document.getElementById("building").style.display = 'none'; document.getElementById("flat").style.display = 'none'; } else { document.getElementById("city").style.display = 'table-row'; document.getElementById("index").style.display = 'table-row'; document.getElementById("street").style.display = 'table-row'; document.getElementById("house").style.display = 'table-row'; document.getElementById("building").style.display = 'table-row'; document.getElementById("flat").style.display = 'table-row'; } if ((selectdost)=="dost_msk") { document.getElementById("samov").style.display = 'none'; document.getElementById("dost_mosobl").style.displ ay = 'table-row'; document.getElementById("dost_reg").style.display = 'none'; } if ((selectdost)=="dost_rg") { document.getElementById("samov").style.display = 'none'; document.getElementById("dost_mosobl").style.displ ay = 'none'; document.getElementById("dost_reg").style.display = 'table-row'; } } } </script> <body> <strong>Контактные данные</strong> <form id="form1" name="form1" method="post" action=""> <table width="98%" border="0" cellpadding="0" cellspacing="0" > <tr colspan=2><td><b>Способ доставки<b></td></tr> <tr ><th style="width:50%"> Метод доставки</th> <td width=100%><input class="simple" type="radio" name="dostavka" value="samov" onChange="seldost('samovivoz')" /> Самовывоз<br /> <input name="dostavka" type="radio" value="dost_msk" onChange="seldost('dost_msk')" checked/>Доставка<br /> <input name="dostavka" type="radio" value="dost_reg" onChange="seldost('dost_rg' )" />Доставка по регионам<br /></td></tr> <tr id="samov" style="display: none;"><th >Названия полей для самовывоза</th><td > <select name="city" class="impt" style="width:98.5%;"> <option value="1" > Москва</option> </select></td></tr> <tr id="dost_mosobl" ><th >Область</th><td > <select name="city" class="impt" style="width:98.5%;"><option > Москва и область</option></select></td> </tr> <tr id="dost_reg" style="display: none;"><th>Область</th><td > <select name="city" class="impt" style="width:98.5%;"><option rel="4312" value="Московская обл.">Московская обл.</option><option value="Алтайский край" >Алтайский край</option></select></td> </tr> <tr id="city" ><th >Город</th><td ><input type="text" name="city" id="textfield"></td> </tr> <tr id="index" ><th >Почтовый индекс</th><td ><input type="text" name="index" id="textfield"></td></tr> <tr id="street" ><th >Улица</th><td ><input type="text" name="street" id="textfield"></td></tr> <tr id="house" style="display: "><th >Дом</th><td ><input type="text" name="house" id="textfield"></td></tr> <tr id="building" style="display: "><th >Корпус</th><td ><input type="text" name="building" id="textfield"></td></tr> <tr id="flat" ><th >Квартира/Офис</th><td ><input type="text" name="flat" id="textfield"></td></tr> <tr style="display: " > <th style="width:50%">Комментарий к заказу:</th> <td width=100%> <textarea cols="" rows="5" class="simple impt" name="comment"></textarea></td> </tr> </table></div> </form> </body> Подскажите, как сделать так, чтобы заработало IE? |
В IE6 какая-то ерунда с onChange, поставьте onClick.
|
Часовой пояс GMT +3, время: 01:07. |