Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2011, 11:04
McS McS вне форума
Новичок на форуме
Отправить личное сообщение для McS Посмотреть профиль Найти все сообщения от McS
 
Регистрация: 10.04.2011
Сообщений: 1

Скрипт работает корректно везде, кроме 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')" />&nbsp;Самовывоз<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?
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2011, 15:37
Аспирант
Отправить личное сообщение для kostr Посмотреть профиль Найти все сообщения от kostr
 
Регистрация: 12.09.2010
Сообщений: 98

В IE6 какая-то ерунда с onChange, поставьте onClick.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт работает во всех браузерах кроме IE (getElementById) cmd Internet Explorer 9 19.03.2011 16:06
Код работает корректно во всех браузерах кроме IE8 Yamasa Events/DOM/Window 6 18.01.2011 07:40
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
Скрипт В IE отрабатывает корректно, но не работает в FF 3.5 Sonkkorh AJAX и COMET 11 27.07.2009 19:03
Скрипт не работает во всех браузерах, кроме Оперы Yadooumne! Элементы интерфейса 6 27.10.2008 17:08