0

jQuery

$('.sendButton').click(function(e){
        e.preventDefault();
        var errors = 0;
        $("#steps input").each(function(){
            if ($.trim($(this).val()).length == 0){
                errors = 1;
            } else {
                errors = 2;
            }
        });
        if (errors == 2){
            $('#general').submit();
        }
    });

上面的代码有效,但它会根据#steps div 中有多少输入来触发我的表单。有人可以帮我只开火一次吗?

#steps 中的输入可以在 1 个输入字段和 4 个输入字段之间变化,具体取决于用户从下拉列表中选择的数量。

因此,当用户尝试提交表单时,上面的代码实质上会检查从下拉列表中选择的金额字段是否为空。

因此,如果我从下拉列表中选择 2,则会出现 2 个输入,并且当表单值填满时,表单会触发 2 次。

4

1 回答 1

1

假设如果任何输入为空,您不想提交表单。

$('.sendButton').click(function(e){
    e.preventDefault();
    var errors = 0;
    $("#steps input").each(function(){
        if ($.trim($(this).val()).length == 0)
            errors = 1;           
    });
    if (errors != 1){
        $('#general').submit();
    }
});
于 2013-03-22T09:09:35.540 回答