#javascript #radio-button
#javascript #переключатель
Вопрос:
Я написал этот код для переключения между переключателями и отображения моего пользовательского оповещения.
<script>
function test() {
if (radio[0].checked = true) {
alert("hello1");
}
if (radio[1].checked = true) {
alert("hello2");
}
}
</script>
<input type="radio" onclick="test()" value="0">
<input type="radio" onclick="test()" value="1">
При проверке любого из переключателей он должен показывать конкретное предупреждение.
Что не так?
Ответ №1:
Вы должны присвоить своим переключателям имена и вызывать их из javascript.
<script>
function test() {
if (document.getElementById('radio1').checked == true) {
alert("hello1");
}
if (document.getElementById('radio2').checked == true) {
alert("hello2");
}
}
</script>
<input type="radio" id="radio1" onclick="test()" value="0">
<input type="radio" id="radio2" onclick="test()" value="1">
Комментарии:
1. У вас там небольшая ошибка … оператор «if» нуждается в == для проверки равенства вместо единственного ‘=’
Ответ №2:
Здесь вам нужно обратить внимание на две вещи: 1) Вы должны использовать атрибут ‘name’ в переключателе. В противном случае вы не сможете проверить переключатель. 2) Вы не можете использовать radio[0] для указания на переключатель. Вы можете присвоить ему идентификатор и использовать getElementById
метод для его использования в Javascript. Другой простой способ — передать объект функции. Пожалуйста, обратитесь к приведенному ниже образцу кода:
<script>
function test(radioObj) {
if(radioObj.value == "0")
alert("Hello1");
else if (radioObj.value == "1")
alert("Hello2");
}
</script>
<input type="radio" name="test" onclick="test(this)" value="0">
<input type="radio" name="test" onclick="test(this)" value="1">
Ответ №3:
radio[0]
и radio[1]
определены в вашем html, но не в вашем javascript. Вы можете попробовать использовать jQuery или одну из многих библиотек селекторов javascript. Или используйте getElementById