[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как узнать какая кнопка нажата???
Shkiper
Вот код:
var submit_poll = document.getElementById('submit_poll')
submit_poll.onclick = function (event) {

event = event || window.event
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}

var text = document.getElementById('poll_contents');
var o = document.getElementById('poll');

if(o.checked != true)
{

alert("Вы не выбрали ответ на вопрос!");

}
else
{

alert("Вы выбрали вариант ответа с АйДИ: " + o.value);

}

А вот разметка:
Насколько данный релиз стал лучше предидущего???
<form method='post'>
<div
id='poll_contents'>
<input
id='poll' type='radio' name='poll_option' value='53' />+5<br />
<input
id='poll' type='radio' name='poll_option' value='52' />+4<br />
<input
id='poll' type='radio' name='poll_option' value='51' />+3<br />
<input
id='poll' type='radio' name='poll_option' value='50' />+2<br />
<input
id='poll' type='radio' name='poll_option' value='49' />+1<br />
<span
style='margin-top: 5px;'><input type='submit' id='submit_poll' name='submit_poll' value='Голосовать' /></span>
</div>
</form>

при нажатии на радио и потом на Голосовать должно вывести положительный результат тоесть вы выбрали ........ с АйДи: и тут айди, но у меня если я выберу 1 вариант то выводит а если какойто другой выводит вы не выбрали ..... почему???



Спустя 18 минут, 37 секунд (11.07.2012 - 12:11) walerus написал(а):
Shkiper - сделай переносы, читать как код ?

Спустя 2 часа, 43 минуты, 19 секунд (11.07.2012 - 14:54) ApuktaChehov написал(а):
id (poll) должен быть уникальным на протяжении всего документа. А у вас несколько одинаковых.

По этому и не работает.

Спустя 13 минут, 31 секунда (11.07.2012 - 15:08) Shkiper написал(а):
а как сделать например poll[0], poll[1] массив короче?? unsure.gif

Спустя 6 минут, 49 секунд (11.07.2012 - 15:14) ApuktaChehov написал(а):
На JS? Не прокатит.

Самое простое назначить каждому радио разные айди. И проверять какой из них отмечен.

Спустя 20 минут, 12 секунд (11.07.2012 - 15:35) Shkiper написал(а):
ApuktaChehov ну хорошо поступим по другому. Допустим у меня есть общий див например с id='poller' и в нем например 2 ради с Да и Нет с id='pol1' and poll2 как мне сделать проверку на то чтоб хотяб одна радиокнопка была отмечена и если 1 таковая есть то передать в переменную еще value

Спустя 18 минут, 43 секунды (11.07.2012 - 15:53) sergeiss написал(а):
Shkiper - задай разные, но похожие айди. Например, poll_1, poll_2 и т.д. Тогда ты сможешь легко создать на JS цикл, который проверит все радиокнопки - если уж тебе хочется именно по такому пути идти.

Спустя 48 минут, 15 секунд (11.07.2012 - 16:42) killer8080 написал(а):
<form  method='post'> 
<
div id='poll_contents'>
<
input type='radio' name='poll_option' value='53' />+5<br />
<
input type='radio' name='poll_option' value='52' />+4<br />
<
input type='radio' name='poll_option' value='51' />+3<br />
<
input type='radio' name='poll_option' value='50' />+2<br />
<
input type='radio' name='poll_option' value='49' />+1<br />
<
span style='margin-top: 5px;'><input type='submit' id='submit_poll' name='submit_poll' value='Голосовать' /></span>
</
div>
</
form>
<
input type="button" value="alert" onclick="check()" />
<
script>

function check(){
var btns = document.getElementsByName("poll_option"),
val = 'не выбрано';
for(var i = 0; i < btns.length; i++){
if(btns[i].checked){
val = btns[i].value;
break;
}
}

alert(val);
}

</script>

Shkiper
id нужно выбросить, и обращаться по имени, главное условие - в документе не должно быть других элементов с таким же именем (на счет кроссбраузерности не уверен)

Спустя 16 часов, 32 минуты, 14 секунд (12.07.2012 - 09:14) Shkiper написал(а):
+1 спасибо работает

Спустя 11 часов, 57 секунд (12.07.2012 - 20:15) bodja написал(а):
killer8080

Цитата
id нужно выбросить, и обращаться по имени

Ну не нужно так радикально,коллекцию можно вернуть через
document.getElementById('poll_contents').getElementsByTagName('input')

будет кроссбраузернее.

Спустя 10 минут, 2 секунды (12.07.2012 - 20:25) Гость_killer8080 написал(а):
bodja
тогда уж лучше работать с form.elements, чем привязываться к верстке smile.gif

Спустя 26 минут, 47 секунд (12.07.2012 - 20:52) bodja написал(а):
killer8080
Путь настоящего джидая идет через,
el=document.createElement('input')
и потом
el.value

form.elements тоже привязывается к верстке ,только немного в другой ипостаси.
В целом ТС пока такие сложности не грозят. biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.