Skip to main content
 首页 » 编程设计

jquery之在每个输入之间迭代以验证值

2026年07月28日5lyj

我有这段代码,它验证输入的值是否为空,并使用 twitter bootstrap popover 显示消息错误:

$(document).on("ready", login_events()); 
 
function login_events(){ 
 
    $("#userId, #password").on("change", validateEmpty); 
    $("#loginButton").on("click", validateAll); 
 
} 
 
function validateEmpty(){ 
 
    input = $(this); 
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
    isValid = true; 
 
    if(input.val() === ""){ 
        input.popover('show'); 
        isValid =  false; 
    } 
    else{ 
        input.popover('hide'); 
    } 
 
    return isValid; 
 
} 

当更改事件完成时,这非常有效,但我想做另一个函数,该函数将在表单中的每个输入之间进行迭代,验证它是否为空(validateEmpty())并防止Default(如果有空)。

如您所见,我为 #loginButton 设置了单击事件来运行 validateAll 函数,我有类似的功能,但无法找到正确的方法:

function validateAll(event){ 
 
    $("#loginForm input").each(validateEmpty); 
 
} 

请您参考如下方法:

尝试这个关闭:

function validateAll(event){ 
    var isValid = true; 
    $("#loginForm input").each(function (){ 
        input = $(this); 
        input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
        isValid = true; 
 
        if(input.val() === ""){ 
            input.popover('show'); 
            if (isValid) 
                isValid = false; 
        } 
    }); 
    if (!isValid) { 
        alert('form is not valid!'); 
    } 
}