空文本框验证jQuery

空文本框验证jQuery,jquery,forms,validation,jquery-mobile,Jquery,Forms,Validation,Jquery Mobile,我有3个文本字段,可以将数据添加到表中,但是,即使所有字段都是空的,我也可以将数据提交到表中。这种形式的验证可以与普通jQuery一起使用,还是必须与插件一起使用?您可以显式地检查所有字段: // at least one is empty if ($('#myId_1').val() == '' || $('$myId_2').val() == '') { alert('Oops! Please fill them all!'); } // all are empty if ($('#

我有3个文本字段,可以将数据添加到表中,但是,即使所有字段都是空的,我也可以将数据提交到表中。这种形式的验证可以与普通jQuery一起使用,还是必须与插件一起使用?

您可以显式地检查所有字段:

// at least one is empty
if ($('#myId_1').val() == '' || $('$myId_2').val() == '') {
    alert('Oops! Please fill them all!');
}
// all are empty
if ($('#myId_1').val() == '' && $('$myId_2').val() == '') {
    alert('Oops! Please fill at least one!');
}
或者,如果您希望在将来支持可变数量的字段,可以使用类似的方法:

var invalid = false;
$('#table tr input:text').each(function() {
    if ($(this).val() == '') {
        invalid = true;
        return false;
    }
});

if (invalid)
    alert('Fill all the fields please!');

您可以使用jQuery来实现这一点,而无需使用任何其他插件。 这个脚本就可以了。请注意,它将遍历所有文本字段。我还为用户添加了一个视觉确认,绿色边框==OK,红色边框=='NotOK'

希望你能使用它

$('#yourSubmitButtonId').click(function(){
    var isValid = 1;
    $('input:text').each(function(){
        if($(this).val() == ''){
            $(this).css('border','1px solid red');
            isValid = 0;
            }
        else{
            $(this).css('border','1px solid green');
            }
        });

    if(isValid == 0){
        alert('Please enter content to all text fields');
        return false;
        }

    //if valid then do something
    });
如果其中任何一个盒子是空的,我想要一个警报,不想要 要调用的函数“AddScore”

那么,我们开始吧。您只需要找出填充输入的数量是否小于输入的总数。因此,请稍微更改您的函数,如下所示:

function AddScore() {
    var totalInputs = $('div[data-role="fieldcontain"] input:text').length;
    var nonEmptyInputs = $('div[data-role="fieldcontain"] input:text').filter(function(){return $.trim($(this).val()) !== ""}).length;
    if (nonEmptyInputs < totalInputs) {
        alert ("You've not filled all the boxes");
        return; //stop execution
    }
    //rest of the code
    var jqTableBody = $('#myTable tbody');
    ....
    ....

为什么不使用jQuery,因为您已经将它用于插件了?jQuery也是。没有插件可以做到这一点吗?当然可以。因此,如果值为空,您不想执行该案例,只需跳过它?好的,我很快会想出一些办法。检查下面的答案,让我知道这是否有效。在我的完整示例中,我有表单的副本,显然具有不同的ID和名称,但它们具有相同的“字段包含”,我是否需要为“字段包含”提供一个ID,以便所有表单都可以使用?我将使用一个插件解决此问题,从一位朋友的建议中,我了解了插件如何使生活更轻松,无论如何,谢谢。@user3464571,是的。身份证和等级都很好。例如,更改为then而不是div[data role=fieldcontain]使用div。section2@user3464571,对,随便你需要什么。不过你本可以帮我们省点时间的。