Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证单选按钮时event.preventDefault不工作_Javascript_Jquery_Validation_Preventdefault - Fatal编程技术网

Javascript 验证单选按钮时event.preventDefault不工作

Javascript 验证单选按钮时event.preventDefault不工作,javascript,jquery,validation,preventdefault,Javascript,Jquery,Validation,Preventdefault,我试图验证是否选中了所有项目(单选按钮)。下面的代码可以工作,但只要我单击警报窗口,它就会再次弹出。使用event.stopPropagation()不会改变任何东西。它不是等待用户检查剩余的项目 $(document).ready(function(){ $(document).on('submit','#formular',function(event){ $("input:radio").each(function() {

我试图验证是否选中了所有项目(单选按钮)。下面的代码可以工作,但只要我单击警报窗口,它就会再次弹出。使用
event.stopPropagation()
不会改变任何东西。它不是等待用户检查剩余的项目

$(document).ready(function(){
        $(document).on('submit','#formular',function(event){
            $("input:radio").each(function() {
                var val = $('input:radio[name=' + this.name + ']:checked').val();
                if (val === undefined) {
                    alert("Not every item answered");
                    event.preventDefault();
                    }
                });
            });
        });

您不会使用
preventDefault
退出循环,通常您会使用
break
continue
,但是在jQuery
$上。每个
必须使用
return true
继续,并且
return false
相当于
break

    $(document).ready(function(){
        $(document).on('submit','#formular',function(event){
            $("input:radio").each(function() {
                var val = $('input:radio[name=' + this.name + ']:checked').val();
                if (val === undefined) {
                    alert("Not every item answered");
                    return false;
                }
            });
            // When invalid formular:
            return false;
            // When it's valid:
            return true;
        });
    });
另见这个问题:

见:


我真的无法理解这里的问题!请贴一张小提琴->谢谢,但是当我使用
return=falseisValid=true
当一个字段不符合要求时,您可以设置
isValid=false
,最后您只需返回此变量以中止或继续提交即可。但请记住:客户端验证是不可靠的。任何人都可以绕过Javascript,向服务器发送错误的内容。