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 に答える