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]