javascript - 验证函数后返回 'true'

标签 javascript jquery function validation

我试图在继续之前验证某些字段是否具有有效的输入。我只想在提交表单之前验证几个字段。验证工作正常,并在必要时显示错误。但是当所有字段都有效时,似乎没有返回到调用函数继续?

function validateTableRow() {
    $('input[name="addPid"]').valid();
    $('input[name="addName"]').valid();
    $('input[name="addAddress"]').valid();
    $('input[name="addCity"]').valid();
    $('select[name="addState"]').valid();
    $('input[name="addZip"]').valid();
}

$('.button').click(function () {
    if(validateTableRow()){
        //Do something
    }
});
}

最佳答案

您的函数validateTableRow()必须返回true才能执行//Do some。但没有返回任何东西,对于 JS 来说是 false,所以无论你在 if 中放入什么都不会完成。

您可以根据需要更改函数以返回 truefalse:

function validateTableRow() {
  return  $('input[name="addPid"]').valid() &&
    $('input[name="addName"]').valid() &&
    $('input[name="addAddress"]').valid() &&
    $('input[name="addCity"]').valid() &&
    $('select[name="addState"]').valid() &&
    $('input[name="addZip"]').valid();
}

$('.button').click(function () {
    if(validateTableRow()){
    //Do something
    }
});
}

[编辑] 要在返回 truefalse 之前检查所有内容,可能如下所示:

function validateTableRow() {

    $('input[name="addPid"]').valid();
    $('input[name="addName"]').valid();
    $('input[name="addAddress"]').valid();
    $('input[name="addCity"]').valid();
    $('select[name="addState"]').valid();
    $('input[name="addZip"]').valid();

    return  $('input[name="addPid"]').valid() &&
        $('input[name="addName"]').valid() &&
        $('input[name="addAddress"]').valid() &&
        $('input[name="addCity"]').valid() &&
        $('select[name="addState"]').valid() &&
        $('input[name="addZip"]').valid();
    }

    $('.button').click(function () {
        if(validateTableRow()){
        //Do something
        }
    });
    }

关于javascript - 验证函数后返回 'true',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006344/

相关文章:

c++ - 没有非空函数的返回语句是否是未定义的行为,其中控制永远不会结束?

linux - 将内存分配给递归函数

javascript - Math.pow 计算地和功率

javascript - iFrame 适用于 Chrome 但不适用于 IE/Firefxx

javascript - 在 Rails 中进行 javascript 和 jQuery 测试的 JSpec vs Jasmine vs QUnit

php - 在 Wordpress 中加载更多帖子 Ajax 按钮 - 修复

python - 在 Python 中打印时包括当前方法名称

javascript - Angular ,从范围中删除具有相同键值的任何内容

javascript - 如何将 numeric.js 导入我的 javascript 文件

javascript - PHP 通过按键 jquery