2011-08-08 7 views
0

フォーム入力を検証し、入力フィールドを強調表示し、すべての正常に動作するエラーメッセージを表示するJavaScript関数を記述しました。OnClientClickは、検証エラーの場合にページ提出を防止します

私はこの機能をasp:ButtonタグのOnClientClick属性から呼び出しました。ただし、JavaScript関数によって検証エラーがあると判断された場合は、フォームの送信を停止する必要があります。これはどうすればいいですか?

私はVB.NETの初心者ですので、どんな助けもありがとうございます。ありがとう。

ASPX

<asp:Button ID="btnSubmit" Text="Save Changes" runat="server" OnClientClick="validateEMI();" /> 

はJavaScript

function validateEMI() { 

    // a big bunch of validation checks... 

    if (errorOnForm == true) { 
     document.getElementById("message").innerHTML = errorMsg; 
     return; 
    } 
} 

答えて

1
if (errorOnForm == true) { 
    document.getElementById("message").innerHTML = errorMsg; 
    return false; 
} 

復帰はfalse;

EDIT:とvalidateEMIonsubmitイベント

+0

おかげで夢中にされなければなりません。私は 'return false'を試しましたが、エラーメッセージが表示された後もフォームを送信します。 –

+1

これを 'OnClientClick =" return validateEMI();と組み合わせる必要があります。 " –

+0

ありがとうございます。 'return false'および 'return validateEMI();'そのトリックをしたようだ。 –

0

使用の迅速な応答をstopPropagation

function validateEMI(event) { 
    event.stopPropagation() 
    // a big bunch of validation checks... 

    if (errorOnForm == true) { 
     document.getElementById("message").innerHTML = errorMsg; 
     return; 
    } 
} 
+1

検証に成功したらどうなりますか? 'errorOnForm === false'の場合にのみ' stopPropagation'を望みます。 –

+0

少なくとも 'event.stopPropagation'を' if'ブロックに移動します... – bensiu

+0

誰かが 'event'パラメータを説明できますか?ありがとう。 –

関連する問題