Javascript返回true不工作/破坏脚本

时间:2016-07-18 06:35:46

标签: javascript validation return-value

  function validator(field_value, field) {
            var name = document.getElementById('facility_Name').value;
            var region = document.getElementById('facility_Region').value;
            var state = document.getElementById('facility_State').value;
            var county = document.getElementById('facility_County').value;
            if (name == null || name == "") {
                $("p#validator_error").append('<a href="#Facility_Details">Click here complete the <i>Name</i> field</a>');
                $('#validation_modal').modal('show');
                return false;
            }
            if (region == null || region == "") {
                $("p#validator_error").append('<a href="#Facility_Details">Click here complete the <i>Region</i> field</a>');
                $('#validation_modal').modal('show');
                return false;
            }
            if (state == null || state == "") {
                $("p#validator_error").append('<a href="#Facility_Details">Click here complete the <i>State</i> field</a>');
                $('#validation_modal').modal('show');
                return false;
            }
            if (county == null || county == "") {
                $("p#validator_error").append('<a href="#Facility_Details">Click here complete the <i>County</i> field</a>');
                $('#validation_modal').modal('show');
                return false;
            }
            return true;
        }

        $('button#submitbutton').click(function () {
            window.console.log('upload started');
            //Check for Facility Details
            return validator();
// then do more stuff including an Ajax call
});

这应该是一个简单的验证功能?当四个字段中的一个未输入框中时,它工作得很好。这似乎不是问题所在。但是,当输入所有字段时,脚本只会在&#34;中返回validator();&#34;并且不会抛出任何类型的错误,或者它不会完成脚本的其余部分。使用&#34;验证器();&#34;也不起作用?

2 个答案:

答案 0 :(得分:0)

我认为你应该检查if条件下的返回值是否继续。像下面的东西。

 if(validator()){
 more stuff including Ajax call
}else{
}

请参阅此处返回。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/return

答案 1 :(得分:0)

脚本在“validator();”中断因为它不存在 您已使用参数定义了函数,以用于验证过程。 尝试从函数中删除参数并用作:

if(validator()){// do stuff}