Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2015, 20:24
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

Скрыть/показать поля
Здравствуйте
Пожалуйста, помогите поправить JS (без подключения jQuery)
по выбору radiobutton "Самовывоз", должно скрываться поле "Адрес" и "Паспорт" но скрывается только поле "Адрес"
Вот пример: http://www.glassbus.ru/Untitled-5.html

JS:
<script type="text/javascript">
var inp = document.getElementsByName('shipping_rate_id');
 myadresLab = document.getElementById('vm_myadres_div');
 myadresInp = document.getElementById('vm_myadres_input')
 pasportLab = document.getElementById('vm_pasport_div');
 pasportInp = document.getElementById('vm_pasport_input');


function func (elm) {
    if (elm.id == "hashd5561dda4545a69195256a8ee62fcc91" && elm.checked){//Самовывоз radiobutton
       myadresLab.style.display = "none";
       myadresInp.style.display = "none";
	   pasportLab.style.display = "none"; // это
       pasportInp.style.display = "none"; // и это поле не получается скрыть!!!!!!!!!
    }else{
       myadresLab.style.display = "";   
       myadresInp.style.display = "";
	   pasportLab.style.display = "";
       pasportInp.style.display = "";
    }
	if (elm.id == "hasha917f3643fcc7141bc83f55fb83a6c62" && elm.checked){//Доставка по Москве radiobutton
       pasportLab.style.display = "none";
       pasportInp.style.display = "none";
    }else{
       pasportLab.style.display = "";   
       pasportInp.style.display = "";
    }
}
      
for (var i=0;i<inp.length;i++){
   inp[i].onchange = function () {func(this)};
}   
</script>

Последний раз редактировалось sashgera, 20.09.2015 в 21:12.
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2015, 21:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

sashgera,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html; charset=utf-8">

<input id="hashd5561dda4545a69195256a8ee62fcc91" name="shipping_rate_id" value="" type="radio"> Самовывоз (<b>ДОЛЖНО скрываться поле Адрес и Паспорт</b>, но скрывается только поле Адрес)
<br>
<input id="hasha917f3643fcc7141bc83f55fb83a6c62" name="shipping_rate_id" value="" type="radio"> Доставка по Москве (скрывается поле Паспорт)
<br>
<input id="zzzz" name="shipping_rate_id" value="" type="radio"> Доставка в регионы (ничего не скрывается)
<br>

<div id="vm_myadres_div" class="formLabel">Адрес</div>
<div class="formField" id="vm_myadres_input">
<input id="vm_myadres_field" name="vm_myadres" size="45" value="" class="inputbox" type="text">
</div>

<div id="vm_pasport_div" class="formLabel">Паспорт</div>
<div class="formField" id="vm_pasport_input">
<input id="vm_pasport_field" name="vm_pasport" size="45" value="" class="inputbox" type="text">
</div>


<script type="text/javascript">
var inp = document.getElementsByName('shipping_rate_id');
 myadresLab = document.getElementById('vm_myadres_div');
 myadresInp = document.getElementById('vm_myadres_input')
 pasportLab = document.getElementById('vm_pasport_div');
 pasportInp = document.getElementById('vm_pasport_input');


function func (elm) {
    if (elm.id == "hashd5561dda4545a69195256a8ee62fcc91" && elm.checked){//Самовывоз radiobutton
       myadresLab.style.display = "none";
       myadresInp.style.display = "none";
	   pasportLab.style.display = "none";
       pasportInp.style.display = "none";
    }
  else	if (elm.id == "hasha917f3643fcc7141bc83f55fb83a6c62" && elm.checked){//Доставка по Москве radiobutton
       myadresLab.style.display = "";
       myadresInp.style.display = "";
	   pasportLab.style.display = "none";
       pasportInp.style.display = "none";
    }
    else{
       myadresLab.style.display = "";
       myadresInp.style.display = "";
	   pasportLab.style.display = "";
       pasportInp.style.display = "";
    }
}

for (var i=0;i<inp.length;i++){
   inp[i].onchange = function () {func(this)};
}
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2015, 21:52
Кандидат Javascript-наук
Отправить личное сообщение для sashgera Посмотреть профиль Найти все сообщения от sashgera
 
Регистрация: 20.09.2011
Сообщений: 140

рони, большое спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В value поля input находится не весь текст из поля DarkLordDark Общие вопросы Javascript 1 13.06.2014 00:17
автозаполнение текстового поля значением другого поля ilyas-> Элементы интерфейса 2 21.10.2013 08:07
получение значения поля eidicon jQuery 4 02.07.2012 19:06
Как сделать связанные поля ввода diakon Элементы интерфейса 2 11.12.2009 16:17
Подгружаемые поля формы AlexJ AJAX и COMET 2 26.06.2009 18:04