2

ボタンのクリック中にasp.netページを検証するために以下のコードを使用しています。テキストボックスが空かどうかを確認したいです。空の場合は、サーバー側のクリック イベントに移動しないことを意味します。何らかの値がある場合は、プロセスがコード ビハインド クリック イベントに移動することを意味します。

今、私は小さな問題に遭遇しました。テキスト ボックスの値 == "" の場合、エラー メッセージを返し、サーバー側のクリック イベントに進むことを意味します。条件が false の場合にサーバー側のポストバックを防ぐにはどうすればよいですか?

 <asp:Button ID="btn_add" runat="server" Text="Submit" OnClick="add_new" OnClientClick="valid_name();"/>

 function valid_name() {
        var name = document.getElementById('<%= txt_name.ClientID%>').value;
        if (name == "") {
            alert('Error Alert : You must enter a valid name !.');
            return false;
        }
        else {
            return true;
        }
    }
4

1 に答える 1

4

このコードを変更するだけです

OnClientClick="return valid_name();"

呼び出しにonを追加するreturnと、クリックが成功するか停止するかに影響します。関数から実際にtrue / falseを返すため、入力に依存しますが、ボタンをreturn直接呼び出すことなく、その戻りはボタンに影響しません。

于 2013-02-26T09:47:54.247 に答える