我的JS程序出现了一些奇怪的问题。我让它正常工作,但由于某种原因,它不再工作了。我只想找到单选按钮的值(选择哪个按钮)并将其返回给一个变量。由于某些原因,它一直返回undefined
。
下面是我的代码:
function findSelection(field) {
var test = 'document.theForm.' + field;
var sizes = test;
alert(sizes);
for (i=0; i < sizes.length; i++) {
if (sizes[i].checked==true) {
alert(sizes[i].value + ' you got a value');
return sizes[i].value;
}
}
}
submitForm
function submitForm() {
var genderS = findSelection("genderS");
alert(genderS);
}
HTML:
<form action="#n" name="theForm">
<label for="gender">Gender: </label>
<input type="radio" name="genderS" value="1" checked> Male
<input type="radio" name="genderS" value="0" > Female<br><br>
<a href="javascript: submitForm()">Search</A>
</form>
发布于 2012-03-08 22:02:46
你可以这样做:
var radios = document.getElementsByName('genderS');
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
// do whatever you want with the checked radio
alert(radios[i].value);
// only one radio can be logically checked, don't check the rest
break;
}
}
<label for="gender">Gender: </label>
<input type="radio" name="genderS" value="1" checked="checked">Male</input>
<input type="radio" name="genderS" value="0">Female</input>
编辑:感谢HATCHA和jpsetung的编辑建议。
发布于 2013-01-29 18:32:26
document.forms.your-form-name.elements.radio-button-name.value
发布于 2016-12-08 18:30:18
ECMAScript 6版本
let genderS = Array.from(document.getElementsByName("genderS")).find(r => r.checked).value;
https://stackoverflow.com/questions/9618504
复制相似问题