0

ユーザーがクリックして一部のフィールドが正しくない場合にメッセージが表示されるボタンがあります。javascriptで検証したいのですが(またはいつかそうするかもしれません)、どうすればいいのかわかりません。現在、ユーザーがボタンをクリックしても、サーバー側のonclick関数は実行されません。

4

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