Javascript 在单击按钮时验证是否选中了所有单选按钮
我对Javascript非常陌生,我有一个Javascript函数,在点击按钮时调用它。我想做的是显示一个警报,如果所有单选按钮都没有被选中,无论它们是“是”还是“否”,如果它们都被选中,请调用下面名为addPoints()的另一个函数Javascript 在单击按钮时验证是否选中了所有单选按钮,javascript,html,validation,dom,radio-button,Javascript,Html,Validation,Dom,Radio Button,我对Javascript非常陌生,我有一个Javascript函数,在点击按钮时调用它。我想做的是显示一个警报,如果所有单选按钮都没有被选中,无论它们是“是”还是“否”,如果它们都被选中,请调用下面名为addPoints()的另一个函数 函数validateForm(){ var inputs=document.querySelectorAll('input[type=“radio”]”); var formValid=false; 对于(var i=0;i 代码: 函数addPoints(){
函数validateForm(){
var inputs=document.querySelectorAll('input[type=“radio”]”);
var formValid=false;
对于(var i=0;i
代码:
函数addPoints(){
警报(“添加点数”);
}
函数validateForm(){
var inputs=document.querySelectorAll('input[type=“radio”]”),
//空数组
检查器=[];
对于(变量i=0;i
不是遍历每个单选按钮,而是遍历每个表单,在每个from中,遍历单选按钮您可以像我使用的复选框那样使用Jquery来完成:)
这会对逻辑产生影响还是更整洁?我做了一点小小的改变,但这引导我朝着正确的方向前进。非常感谢!13是我有多少组。if(checker.length==13){getScore();}else{alert(“请回答所有问题!”);}@AlexMcPherson知道我能帮上忙真是太好了!
function validateForm(){
var inputs = document.querySelectorAll('input[type="radio"]');
var formValid = false;
for(var i=0;i<inputs.length;i++){
if(inputs[i].checked){
formValid = true;
}
}
if(!formValid ){
alert("Please answer all questions!");
}
else{
addPoints();
}
}
<form name="form1" id="form1">
<input id="rdo1" type="radio" name="q1" value="10">Yes<br>
<input id="rdo2" type="radio" name="q1" value="0">No
</form>
<form name="form2" id="form2">
<input id="rdo3" type="radio" name="q2" value="10">Yes<br>
<input id="rdo4" type="radio" name="q2" value="0">No
</form>
<form name="form3" id="form3">
<input id="rdo5" type="radio" name="q3" value="10">Yes<br>
<input id="rdo6" type="radio" name="q3" value="0">No
</form>
<button type="submit" onclick="validateForm()">Score?</button>
function addPoints() {
alert("Adding points");
}
function validateForm() {
var inputs = document.querySelectorAll('input[type="radio"]'),
// An empty array
checker = [];
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) {
// Whenever find a checked element, push it in checker array
checker.push(true);
}
}
// Since, there are only 3 radio groups, according to OP,
// call addPoints when all 3 (yes/no) have been selected
if (checker.length === 3) {
addPoints();
}
// Show an alert if none has been selected
else if (checker.length === 0) {
alert("Please answer all questions!");
} else {
// Add something you may want
}
}
function validateForm(){
if($('input[type="checkbox"]:checked').length != $('input[type="checkbox"]').length){
alert("Please answer all questions!");
}else{
alert("ok!");
}
}