5

私の asp.net ページには、3 つのテキスト ボックスと 1 つのボタンがあります。
最初の 2 つのテキスト ボックスはユーザーから値を取得するために使用され、3 番目のテキスト ボックスは最初の 2 つのボックスの合計を表示するために使用されています。

OnClientClick値を合計し、そのボタンのイベントで結果の値を表示する JavaScript 関数を呼び出しています。

JS 関数は正常に動作していますが、ボタンを押して合計を取得すると、3 番目のテキスト ボックスに結果が表示され、その直後にページがポストバックされ、結果の値が 3 番目のテキスト ボックスから消えます。

ポストバックがボタンによって呼び出されるのはなぜですか?
送信ボタンをクリックしたときにページがポストバックされないようにします。

どんな提案でも大歓迎です。

4

3 に答える 3

21

OnClientClick="SomeMethod()"そのボタンのイベント、それはデフォルトで「true」を返すので、その関数の後にポストバックを行います

ソリューション用

//use this code in BUTTON  ==>   OnClientClick="return SomeMethod();"

//and your function like this
<script type="text/javascript">
  function SomeMethod(){
    // put your code here 
    return false;
  }
</script>
于 2013-06-07T08:15:34.700 に答える
4

上記の解決策が機能する必要があります。ただし、これを試すことができます:

OnClientClick="return SomeMethod();return false;"

メソッドから return ステートメントを削除します。

于 2013-06-07T08:29:01.210 に答える
2
<asp:Button ID="btnGet" runat="server" Text="Get" OnClick="btnGet_Click" OnClientClick="retun callMethod();" />
<script type="text/javascript">
    function callMethod() {
        //your logic should be here and make sure your logic code note returing function
        return false;
}
</script>
于 2013-06-07T08:28:20.917 に答える