ユーザーがクリックして一部のフィールドが正しくない場合にメッセージが表示されるボタンがあります。javascriptで検証したいのですが(またはいつかそうするかもしれません)、どうすればいいのかわかりません。現在、ユーザーがボタンをクリックしても、サーバー側のonclick関数は実行されません。
質問する
93 次
3 に答える
1
<asp:Validator
タグを使用するだけです。必須フィールドバリデーター、正規表現バリデーターなど、さまざまな種類のバリデーターがあります。
クライアント側のコードとサーバー側のコードの両方でデータを検証します (クライアント側のチェックを無効にしない限り、実行できます)。
これは、JavaScript でコンテンツを手動で検証し、サーバー側のコードで手動で検証するよりもはるかに簡単です。
技術的には、質問に答えるonclick
ために、送信ボタンのjavascriptハンドラーがある場合、戻り値はブール値として、フォームを送信する必要があるかどうかを示しますreturn false
。データが有効でない場合は送信しないでください。フォーム。
<asp:Button Text="Submit" OnClientClick="return Validate();" />
<script type="text/Javascript">
function Validate()
{
if(requiredFieldAIsMissing) return false;
return true;
}
</script>
于 2013-02-27T17:45:36.447 に答える
0
以下のようなものが理解に役立つと思います。
HTML:
<asp:textbox id="myText" runat="server" text="Hello" />
<asp:button id="myButton" runat="server" text="Click Me" OnClick="Server_Event" />
ON Page_Load:
//Add onclick with return here
myButton.Attributes.Add("onclick","return ButtonClicked()");
Javascript:
function ButtonClicked(){
var txt = document.getElementById("myText");
if(txt.value != "Hello"){
alert("It is not Hello, I am NOT posting back!");
return false;
} else {
alert("It is Hello, I am posting back!");
return true;
}
}
于 2013-02-27T17:56:33.577 に答える
0
どうですか:
<asp:Button ID="myButton" Text="Click Me!" OnClick="myButton_OnClick" OnClientClick="javascript:confirm('Really?')" />
OnClientClick
プロパティは javascript を (ポストバックの処理に必要な javascript の前に) 発行し、そのイベントから戻ると、false
残りのイベントはキャンセルされ、ポストバックは発生しません。
于 2013-02-27T17:46:26.750 に答える