Показать сообщение отдельно
  #2 (permalink)  
Старый 18.07.2011, 12:27
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

if
(*!*document.getElementsByName('q').checked*/!* == true)
*!*
  {document.getElementById('w').onclick=function()
    {alert ('Выбор сделан!');}
  }
*/!*
else
{document.getElementById('w').onclick=function()
  {alert ('Choose your destiny!!');}
}

  • тут нет обработчика события, тут сразу исполнение скрипта по мере загрузки страницы
  • getElementsByTagName возвратит NodeList*. ВСЕГДА
  • обработчики вешаются правильно, но по коду логика скрипта будет такой : по мере загрузки страницы проверяем у NodeList*, есть ли у него свойство checked (оно undefined), нет? вешаем обработчик на кнопку, который будет выводить сообщение о выборе судьбы.

Пример: Работающий пример
<input type="radio" name="q"><br>
<input type="radio" name="q"><br>
<input type="radio" name="q"><br>
<input type="button" id="w" value="Тык">

<script>
document.getElementById("w").onclick = function(){

if  (document.getElementsByName('q')[0].checked == true) {
    alert ('Выбор сделан!');
  } else {
      alert ('Choose your destiny!!');
  }
}
</script>

*Примечание :
NodeList похож на массив, потому что имеет свойство length и пронумерованные с нуля найденные элементы, к которым можно обращаться через list[number]

Последний раз редактировалось melky, 18.07.2011 в 12:31.
Ответить с цитированием