0

我尝试使用适合任何输入的通用公式验证表单。任何人都可以告诉我出了什么问题以及如何解决?

在这里查看现场:http: //jsfiddle.net/qSzBb/

$(function() {
    $("#form").submit(function(e) {
        var defaultValue = $(this).prop('defaultValue') ; // store de default value
        var valid = true; //assume valid form

        if (this.value = this.defaultValue){ 
            e.preventDefault();
            this.value = this.defaultValue + "is missing";
            valid = false;
        }

        if (valid) {
            $("#form").submit();
        }
    }); 
});
4

1 回答 1

0

问题是您正在循环表单而不是表单中的输入。请看这个小提琴或这个

$(function() {

$("#form").submit(function(e) {

    var inpts = $("#form").children('input'), valid = true;
    inpts.each(function(idx)
    {
        var i = $(inpts[idx]);
        var defaultValue = i.prop('defaultValue');
        if (i.value = defaultValue)
        { 
            valid = false;
        }

    });


    if (!valid) 
    {
        alert('dsfsdf');
        e.preventDefault();
    }


}); 

});

于 2013-02-05T17:17:31.660 回答