多组单选按钮验证javascript
我有多个分组单选按钮,名称为optionRadios1到5。我想通过javascript验证它们,但我的验证代码不起作用,仍然继续提交表单 这是我的密码:多组单选按钮验证javascript,javascript,php,jquery,Javascript,Php,Jquery,我有多个分组单选按钮,名称为optionRadios1到5。我想通过javascript验证它们,但我的验证代码不起作用,仍然继续提交表单 这是我的密码: function submitForm(){ var counter = "<?php echo $count;?>"; //$count is the total number of grouped radio buttons for(j=1;j<=counter;j++) { var radio
function submitForm(){
var counter = "<?php echo $count;?>"; //$count is the total number of grouped radio buttons
for(j=1;j<=counter;j++) {
var radioname = "optionRadios" + j;
var elem=document.forms['test-form'].elements[radioname];
len=elem.length-1;
chkvalue='';
for(i=0; i<=len; i++){
if(elem[i].checked){chkvalue=elem[i].value;}
}
if(chkvalue=='') {
alert('There are still unanswered questions. ' + radioname);
return false;
}else {
$('#test-form').submit();
}
}
}
这是应使用的表格:
<form action="#" method="post" id="test-form">
//lots of codes here
<button type="submit" class="btn btn-primary" onclick="return submitForm();" id="next">Next</button>
</form>
您是否尝试过使用jQuery验证方法 试试这个
$('#test-form').submit(function() {
var counter = "<?php echo $count;?>"; //$count is the total number of grouped radio buttons
console.log("Counter: "+counter);
for(j=1;j<=counter;j++) {
var radioname = "optionRadios" + j;
console.log("RadioName: "+radioname);
var elem=document.forms['test-form'].elements[radioname];
len=elem.length-1;
chkvalue='';
console.log("Length: "+len);
for(i=0; i<=len; i++){
if(elem[i].checked){chkvalue=elem[i].value;}
}
console.log("Chkvalue: "+chkvalue);
if(chkvalue=='') {
alert('There are still unanswered questions. ' + radioname);
return false;
}
}
return true;
});
从按钮中删除onclick属性,并查看正在调试的值。它将帮助您查看代码在哪里工作,在哪里不工作。试试看,让我们知道控制台输出的内容。JAVASCRIPT
$('input[type=button]').click(function(){
var i= 1 ;
var msgError= "";
while($('input[name=optionRadios'+i+']').length ){
var is_it_ok = false;
$('input[name=optionRadios'+i+']').each(function(){
if($(this).is(":checked")){
is_it_ok = true;
}
});
if(!is_it_ok){
msgError += "Erreur : optionRadios"+i;
}
i++;
}
if(!msgError.length){
alert("ok");
return true;
}else{
alert(msgError);
return false;
}
});
});
HTML
演示:想澄清一下我的代码不起作用吗?对不起,我的javascript验证代码不起作用了什么是nmean不起作用的?好的,它怎么不起作用?它做了什么不应该做的,它不做什么不应该做的?你能设置一个现场演示,在,或类似的,并说明缺陷?仍然继续提交的形式,你如何防止它呢???控制台有错误吗?在你这边调试怎么样?!还没有,我不知道如何通过验证单选按钮jQuery@Lix,如果我的声誉不超过50,我无法发表评论。。。。请不要简单地投反对票…@Christian Burgos这里有一个例子:我给了你一张赞成票。别担心,别担心happy@nodeffect-该限制是有原因的-忽略它是我的操作所基于的。它仅返回分组单选按钮的最后一个名称,并且仍然提交。您能否复制/粘贴完整输出,从计数器:到Chkvalue?它不起作用,sorryit仍在提交…因为您已经使用jquery,我用jquery重写了all,并更新了jsfiddle,而不是php/javascript/jquery
<form name="test-form">
<input type="radio" name="optionRadios1" value="1" />
<input type="radio" name="optionRadios1" value="1"/>
<input type="radio" name="optionRadios1" value="1"/>
<input type="radio" name="optionRadios2" value="1"/>
<input type="radio" name="optionRadios2" value="1"/>
<input type="radio" name="optionRadios2" value="1"/>
<input type="button" />
</form>