0

false を返すことは、フォームの送信メソッドでは有効になりません。

このような方法:

function success() {
    //some validation logic
    $.ajax(); // ajax call
    return false;
}

誰が理由を教えてくれますか? なぜ機能しないのですか?大変お世話になりました。

4

3 に答える 3

0

false を返すタイミングを教えてください。

私が理解している限りでは

<script type="text/javascript">
function validateData(){
    var flag=0;
    //Your validation logic here
    //If validation is not proper then flag=1; else flag=0;
    if(document.getElementById("text1").value==""){
        flag=1;
    }

    if(flag==1){
        return false;
    } else {
        $.ajax({
            success: function(data){

            }
        });
    }
}
</script>

<form name="abc" id="abc" onsubmit="javascript:return validateData()">
    <input type="text" name="text1" id="text1"/>
    <input type="submit" name="sub"/>
</form>
于 2012-09-06T10:27:59.257 に答える
0

フォームの「onsubmit」メソッドは、送信を停止するために false を返す必要があります。表示されているのは、他の関数からの戻り値です。

于 2012-09-05T10:38:17.730 に答える
0

その場合、2 つのことを修正する必要があります。<form>タグのonsubmitイベントを値で更新するreturn false;か、さらに良いことに、メイン アクションを指定します。

A.formタグ:

<form method="" action="" onsubmit="runExport(); return false;">

B.inputタグ:

<input type="submit" id="export" value="${appResources.report_common_label_generateReport}" onclick="return runExport();" />

を使用するreturn false;理由

actionその理由は、フォームの内容をターゲットに送信するデフォルトのアクションを防止するためです。そのため、偽の値を返すことで伝播を停止することで、それを防止しています。そして、その前に、JavaScript 呼び出しを行って、デフォルトの作業ではなく作業を行うようにします。:)

于 2012-09-05T10:45:07.470 に答える