1

これは簡単な質問だと思いますが、次のコードを手伝ってもらえますか? 必須フィールドがフォームに入力されていることを確認するために、この関数を作成しました。入力の 1 つが空白であることが判明した場合は、停止して false を返す必要があります。すべての要素にコンテンツがある場合は、true を返す必要があります。return false;私の行がjQuery関数内にあるため、次の関数は機能しません.each。私が定義した新しい関数を返していません。どうすればこれを処理できますか?

function check_form(){
    $('form .required').each(function(){
        if ($(this).val() == ""){
            show_dialog('Please enter a value for ' + $(this).attr('name'));
            return false;
        }
    });

    return true;
}

一部の必須フィールドが空白であっても、この関数は毎回 true を返しています。

問題はこのフィドルで説明されています: http://jsfiddle.net/f59t4/2/

それは今動作します、みんなありがとう!

4

2 に答える 2

4

これを試して

function check_form(){
    var flag = true;
    $('form .required').each(function(){
        if ($(this).val() == ""){
            show_dialog('Please enter a value for ' + $(this).attr('name'));
            flag =  false;
        }
    });

    return flag;
}
于 2012-04-16T15:18:03.580 に答える
1

仮定:

1) すべての問題の検証の要約が必要で、かつ

2) すべてのスペースを含むフィールドを有効と見なしたくない場合:

function checkform () {
    var errors = "";
    var $blankFields = $('form .required').filter(function () {
        return $.trim($(this).val()) === "";
    });
    if ($blankFields.length) {
        $blankFields.each(function () {
            errors += "Please enter a value for " + $(this).attr('name') + "<br />";
        });
        show_dialog(errors);
        return false;
    }
    return true;
}
于 2012-04-16T15:29:05.020 に答える