【发布时间】:2020-11-10 03:19:35
【问题描述】:
我建立了一个表单,我需要它来获取所有选中的单选按钮的数值,将它们相加并在同一页面上返回总数。 我的 HTML 和 javascript 代码如下:
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
<br>
</form>
<form>
<p>Question here</p>
<input type="radio" class ="check" name="choose" value=1>never
<input type="radio" class ="check" name="choose" value=2>sometimes
<input type="radio" class ="check" name="choose" value=3>regularly
<input type="radio" class ="check" name="choose" value=4>always
</form>
<br>
<input type ="button" name="resultButton" id = "totalSum" onclick = "handleClick();" value = "Get Result" >
<br>
<br>
JavaScript:
function handleClick(input){
var selected = document.getElementsByClassName(".check").value;
for (var i = 0; i < selected.length; ++i) {
if(selected.checked== true){
alert("Your total is"+ i+ "...");
}
else{
alert( "You didn't select an answer for all questions")
}
}
};
【问题讨论】:
-
你没有得到每个选定的项目。应该是
selected[i].checked和var selected = document.getElementsByClassName(".check"); -
@CodeLover 不应该
selected = document.getElementsByClassName(".check");是selected = document.getElementsByClassName("check");。您只需要.将class与其他查询选择器或jQuery一起定位到selected变量试图返回这些元素的value,因此您的for循环将无法运行如你所愿。 -
是的。我的错误
-
谢谢大家的帮助。奇怪的是,当我单击此页面上的“运行代码 sn-p”按钮时,你们给我的想法起作用了。但是当我使用浏览器(Chrome)从 IDE(括号)运行时,它总是说:Uncaught ReferenceError: handleClick is not defined at HTMLInputElement.onclick.
-
更改了句子以使其更有意义,并删除了更有意义的额外解释。
标签: javascript forms