Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2014, 07:05
Аспирант
Отправить личное сообщение для Slavok47 Посмотреть профиль Найти все сообщения от Slavok47
 
Регистрация: 20.01.2010
Сообщений: 41

Показать/Скрыть элемент по радиокнопкам
Привет ребят! Делал форму на чекбоксах, задача такая: нажал чекбокс, появилось текстовое поле, но не учел момента, чекбоксов можно выбрать несколько, а это не допустимо, использовал

function agreeForm1(f) {
if (f.cat1.checked) f.add_cat.hidden = false
else f.add_cat.hidden = true
}
function agreeForm2(f) {
if (f.cat2.checked) f.edit_cat.hidden = false
else f.edit_cat.hidden = true
}


поэтому тут нужно использовать радиокнопки, но так как группа использует одинаковый name эта функция не подходит, видимо нужен доступ по ID, прошу помощи у специалистов

Возможно ли сделать проще, например к каждой радиокнопки привязать onClick c прямым описанием события на показ/скрытие элемента (тоесть на изменение значения hidden), типа

onClick="document.getElementById('IDt').hidden=
?

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2014, 09:27
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

http://javascript.ru/forum/search.php?searchid=1570315
Ответить с цитированием
  #3 (permalink)  
Старый 27.06.2014, 12:35
Аспирант
Отправить личное сообщение для Slavok47 Посмотреть профиль Найти все сообщения от Slavok47
 
Регистрация: 20.01.2010
Сообщений: 41

нашел нечто подобное

function agreeForm1(tar) {
 var element = document.getElementById(tar);
 if (element) {
 element.style.display = element.style.display = "block";
 }
 else {
 
  element.style.display = element.style.display = "none";
 }
}


при выборе радио кнопки поле появляется, при выборе другой кнопки, поле не пропадает, что не так сделал?
Ответить с цитированием
  #4 (permalink)  
Старый 27.06.2014, 16:20
Кандидат Javascript-наук
Отправить личное сообщение для Brutus Посмотреть профиль Найти все сообщения от Brutus
 
Регистрация: 24.11.2013
Сообщений: 127

Slavok47,
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <input type="radio" name="r1" id="r1" class="r1"><label for="r1">#-1</label><br>
    <input type="radio" name="r1" id="r2" class="r1"><label for="r2">#-2</label><br>
    <input type="radio" name="r1" id="r3" class="r1"><label for="r3">#-3</label><br>
    <input type="radio" name="r1" id="r4" class="r1"><label for="r4">#-4</label><br>
    
    <textarea id="txt" style="display:none;">1</textarea>
    <textarea id="txt2" style="display:none;">4</textarea>
    <script>
      var inp = document.getElementsByClassName('r1');
      var txt = document.getElementById('txt');
      var txt2 = document.getElementById('txt2');
      function func (elm) {
        if (elm.id == "r1" && elm.checked)
          txt.style.display = "block";
        else
          txt.style.display = "none";
        
        if (elm.id == "r4" && elm.checked)
          txt2.style.display = "block";
        else
          txt2.style.display = "none";
      }
      
      for (var i=0;i<inp.length;i++){
        inp[i].onchange = function () {func(this)};
      }
      
    </script>

  </body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 28.06.2014, 12:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

а зачем скрипты то нужны для этого?
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2014, 12:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071


<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <style type="text/css">
  input:checked + label {
    display:  inline-block;
  }
 label{
   display: none;
 }

  </style>
</head>

<body>
 <input type="radio" name="r1" id="r1" class="r1" checked="checked"><label for="r1">#-1</label><br>
    <input type="radio" name="r1" id="r2" class="r1"><label for="r2">#-2</label><br>
    <input type="radio" name="r1" id="r3" class="r1"><label for="r3">#-3</label><br>
    <input type="radio" name="r1" id="r4" class="r1"><label for="r4">#-4</label><br>

</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При скроллинге показать/скрыть элемент web-expanse Элементы интерфейса 3 18.04.2014 14:35
При клике на элемент, изменять значение поля Apelcun77 Общие вопросы Javascript 2 14.02.2014 15:26
Как узнать родительский элемент? alex_han Events/DOM/Window 6 06.12.2013 23:01
Выбрать элемент у родителя которого сын это элемент по которому кликнули MalikSPB Events/DOM/Window 8 30.12.2012 12:22
Drag-n-Drop - перетянуть элемент Jugo ExtJS 1 10.08.2011 19:10