JackShcherbakov
@JackShcherbakov

Почему value у input type = radio равен undefined?

Здравствуйте! Не могу понять, почему код ниже при клике на чекбокс выводит undefined?
<body>
<form>
	<label>Вы не робот <input type="radio" name="oss" value="i'mrobot" onchange="change()"></label><br>
	<label>Я согласен с правилами <input type="radio" name="oss" value="I'magree" onchange="change()"></label>
</form>
</body>
<script>
function change(e){
	alert(this.value);
}
</script>

UPD:
А вот так работает:
for(var i = 0; i<document.forms[0].elements.oss.length; i++){
	document.forms[0].elements.oss[i].onclick = function change(e){
	alert(this.value);
	}
}
  • Вопрос задан
  • 565 просмотров
Решения вопроса 2
razumkov2015
@razumkov2015
"Программист" https://vk.com/cgs_game
rockon404
@rockon404
Frontend Developer
Потому что this в вашей функции ссылается на объект window, используйте e.target.value:
<input type="radio" name="oss" value="i'mrobot" onchange="change(event)">

function change(e){
  alert(e.target.value);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы