jQuery 防止提交表单不适用于 if 语句

jQuery prevent submit form doenst work with if statement

我遇到了问题

如果我尝试使用此代码阻止表单提交

$(function(){
            $('#registerform').submit(function(e) {

                var benreg = $("#benreg").val()
                var pas1reg = $("#pas1reg").val()
                var pas2reg = $("#pas2reg").val();
                var submit = true;

                if(benreg === "" || pas1reg === "" || pas2reg === ""){
                    var submit = false;
                }

                if(submit === false){
                    e.preventDefault();
                }

            });  
        });

...然后它就可以工作了,但是当我用来显示信息下拉警报时,它就工作了。我不知道为什么。尽管框是空的,但我的表单提交了数据。

$(function(){
            $('#registerform').submit(function(e) {

                var benreg = $("#benreg").val()
                var pas1reg = $("#pas1reg").val()
                var pas2reg = $("#pas2reg").val();
                var submit = true;

                if(benreg === "" || pas1reg === "" || pas2reg === ""){
                    var submit = false;
                    var rel = new $.peekABar({
                        html: "Error message<br />" + '<img src="img/success.png"/>'
                    });

                    rel.show(); 


                }

                if(submit === false){
                    e.preventDefault();
                }

            });  
        });

我需要做什么才能让它正常工作?

提前谢谢你:)

试试这个代码:

$(function(){
        $('#registerform').submit(function(e) {
             e.preventDefault();

            var benreg = $("#benreg").val()
            var pas1reg = $("#pas1reg").val()
            var pas2reg = $("#pas2reg").val();
            var submit = true;

            if(benreg === "" || pas1reg === "" || pas2reg === ""){
                var submit = false;
                var rel = new $.peekABar({
                    html: "Error message<br />" + '<img src="img/success.png"/>'
                });

                rel.show(); 


            }

        });  
    });

把if else中的e.preventDefault()去掉,移到submit(function(e)){

之后

尝试代码。

试试这个。

$(function(){
            $('#registerform').submit(function(e) {

                var benreg = $("#benreg").val()
                var pas1reg = $("#pas1reg").val()
                var pas2reg = $("#pas2reg").val();
                var submit = true;

                if(benreg === "" || pas1reg === "" || pas2reg === ""){
                    var submit = false;
                    var rel = new $.peekABar({
                        html: "Error message<br />" + '<img src="img/success.png"/>'
                    });

                    rel.show(); 

                    return submit;

                }

            });  
        });