0

次のコードを使用して確認ボックスを表示しています。

protected void cmbPayerBucketMain_SelectedIndexChanged(object sender, EventArgs e)
{ 
    ClientScriptManager CSM = Page.ClientScript;
    if (!String.IsNullOrEmpty(hiddenF1.Value) || !String.IsNullOrEmpty(hiddenF2.Value))
    {
          CSM.RegisterClientScriptBlock(this.GetType(), "Confirm", "show();", true);
    }

   //Some Code       
}

そして関数 show() は次のように

function show()
        (
            if(confirm('Chnages you made will be lost. Do you want to continue?'))
            { return true; }
             else
             { return false;
              }

              return 

        )

しかし、確認ボックスから選択したオプションに関係なく、コード全体を実行しています。イベント コード全体を実行すると、メッセージ ボックスが表示されます。確認ボックスの応答を待機するコンボ ボックスを制限し、ユーザーが [OK] を選択した場合にのみイベント コードを実行するにはどうすればよいですか (または、[はい] を選択すると、確認ボックスのボタンのテキストを変更する方法も提案されます。 OK を YES に、CANCEL を NO にします)。

4

3 に答える 3

3

確認ダイアログのボタンのテキストは変更できません。それらはブラウザに組み込まれています。

ダイアログ ボックスをさらに制御したい場合は、jQuery UI からダイアログを使用しますが、UI スレッドをブロックして入力することはできません。つまり、単純なことを実行confirm(...)して次の行で結果を取得することはできません。ユーザーがダイアログを操作した結果を処理する方法に関するドキュメントを読むことをお勧めします。特に、ドキュメントのこの例を参照してください。ここでいくつかの簡単な例を適応させようとします:

<script>
$(function() {
  $( "#dialog-confirm" ).dialog({
    resizable: false,
    height:140,
    modal: true,
    buttons: {
      "Yes": function() {
        // whatever you want to run when user clicks 'yes'.
        ...
        $( this ).dialog( "close" );
      },
      "No": function() {
        $( this ).dialog( "close" );
      }
    }
  });
});
</script>
<div id="dialog-confirm">
   ...
</div>

ちょっとしたポイント...組み込みの確認ダイアログを使用することを選択した場合、コードを次のように簡素化できます

function show() {
    return confirm('Chnages you made will be lost. Do you want to continue?');
}
于 2013-03-16T07:00:44.337 に答える
2

関数ではないため、この関数内のすべてのコードを実行しています。()中括弧の代わりに括弧を使用しています{}。また、戻り値の pswgSuggest メソッドの方が優れています。

function show() { 
    return confirm('Changes you made will be lost. Do you want to continue?');
} // use curly braces, not parens here
于 2013-03-16T07:16:50.760 に答える
0

確認ボックスのカスタマイズについては、以下のコードをお試しください。

<script src="../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="../Scripts/jquery.confirm.js" type="text/javascript"></script>
    <script type="text/javascript">

            function ShowConfirm(Title, Message, OkBtnCaption, CancelBtnCaption, ButtonID) {
                var elem = $(this).closest('.item');               

                $.confirm({
                    'title': Title,
                    'message': Message,
                    'buttons': {
                        OkBtnCaption: {
                            'class': 'blue',
                            'action': function () { $('#' + ButtonID).click(); },
                            'id': 'okBtn'
                        },
                        CancelBtnCaption: {
                            'class': 'gray',
                            'action': function () { },
                            'id': 'cancelBtn'
                        }
                   }
                });
                return false;
            }   
      </script>

それが役に立てば幸い。

ありがとう、シヴァ

于 2013-03-16T07:20:03.780 に答える