Показать сообщение отдельно
  #1 (permalink)  
Старый 18.04.2014, 14:46
Новичок на форуме
Отправить личное сообщение для iilexii Посмотреть профиль Найти все сообщения от iilexii
 
Регистрация: 18.04.2014
Сообщений: 2

Снова чекбоксы
Есть 2 чекбокса, необходимо, чтобы при выборе 1 не происходило ничего, а при выборе 2 появлялись поля типа text.
Есть несколько условий, в которых собственно и проблема:
  • нужно, чтобы выбирался только один из чекбоксов(решено);
  • чтобы при выборе обратно 1 доп. поля исчезали.
Вот мои наработки:
<th class="lable">*Анонимное письмо:</th>
                        <td>
<div>
  <input type="checkbox" name="anonim_da" value="Да" checked/>Да<br />
  <input name="anonim_net" value="Нет" type = 'checkbox' id = 'cb1' onchange = 'showOrHide("cb1", "cat1");'/>Нет
  <br />
  <div id = 'cat1' style = 'display: none;'>
    *Ф.И.О.:<br /><input name="fio" size="40" type="text"><br />
  <div id = 'cat1' style = 'display: block;'>
    Организация:<br /><input name="org" size="40" type="text"><br />
    Должность:<br /><input name="dolz" size="40" type="text"><br />
    *Адрес:<br /><input name="addr" size="40" type="text"><br />
  </div></div></div></div>
      <script type="text/javascript">
        var handler = function ( event ){
          event = event || window.event;
          var target = event.target || event.srcElement;
          if ( target.nodeType == 1 && target.nodeName.toLowerCase() == "input" && target.type == "checkbox" && target.checked ) {
            var inputs = document.getElementsByTagName("input");
            for ( var i = 0; inputs[i]; i++ ) {
              if ( inputs[i].type == "checkbox" && inputs[i] != target ) {
                inputs[i].checked = false;
              }
            }
          }
        }
        if (document.addEventListener){
          document.addEventListener('click', handler, false);
        } else if (document.attachEvent){
          document.attachEvent('onclick', handler);
        }
    </script>
<script type="text/javascript">
  function showOrHide(cb, cat) {
    cb = document.getElementById(cb);
    cat = document.getElementById(cat);
    if (cb.checked) cat.style.display = "block";
    else cat.style.display = "none";
  }
</script>

Прошу не судить строго, стараюсь изучать язык, но времени пока на это мало, поэтому пользуюсь готовыми скриптами.

Последний раз редактировалось devote, 18.04.2014 в 16:16. Причина: run
Ответить с цитированием