0
   $(document).ready(function () {
        $('.abc').click(function () {
            var status = $("#<%=ddlstatus.ClientID%>").val;
            if (status == "Prepared") {
                var _Action = confirm('Do you really want to cancel this payment ? All pending money will be available in the retention account of the contractor ');
                if (_Action) {
                    $.blockUI({ css: {
                        border: 'none',
                        padding: '15px',
                        backgroundColor: '#000',
                        '-webkit-border-radius': '10px',
                        '-moz-border-radius': '10px',
                        opacity: .5,
                        color: '#fff'
                    }
                    });
                    return true;
                }
                else {
                    return false;
                }


            }

        });
    }); 

このJavaScriptを実行するとOKボタンが表示されますが、キャンセルボタンも追加したいと思います。さらに、私はこれをC#コードビハインドから呼び出しています

4

3 に答える 3

2

jQuery UI Dialogを使用して試すことができます:

<div id="dialog" title="Confirmation Required">
  Do you really want to cancel this payment? All pending money will be available in the retention account of the contractor. 
</div>

<script type="text/javascript">
  $(document).ready(function() {
    $("#dialog").dialog({
      autoOpen: false,
      modal: true
    });
  });

  $(".abc").click(function(e) {
    e.preventDefault();
    var targetUrl = $(this).attr("href");
    var status = $("#<%=ddlstatus.ClientID%>").val();

    $("#dialog").dialog({
      buttons : {
        "Ok" : function() {              
         if (status == "Prepared") {
            $.blockUI({ css: {
                    border: 'none',
                    padding: '15px',
                    backgroundColor: '#000',
                    '-webkit-border-radius': '10px',
                    '-moz-border-radius': '10px',
                    opacity: .5,
                    color: '#fff'
                    }
                }); 
          }
          window.location.href = targetUrl;
        },
        "Cancel" : function() {
          $(this).dialog("close");
        }
      }
    });

    $("#dialog").dialog("open");
  });
</script>

デモ: http://jsfiddle.net/rCVrc/

編集

ここでニックの答えを引用すると、次のScriptManager.RegisterStartupScript()ようにメソッドを使用できます。

ScriptManager.RegisterStartupScript(this, GetType(), "modalscript",
    "$(function() { $('#dialog').dialog({
      buttons : {
        'Ok' : function() {              
         if (status == 'Prepared') {
            $.blockUI({ css: {
                    border: 'none',
                    padding: '15px',
                    backgroundColor: '#000',
                    '-webkit-border-radius': '10px',
                    '-moz-border-radius': '10px',
                    opacity: .5,
                    color: '#fff'
                    }
                }); 
          }
          window.location.href = targetUrl;
        },
        'Cancel' : function() {
          $(this).dialog('close');
        }
      }
    }); });", true);

「ScriptManager/UpdatePanels を使用していない場合は、同等のClientScriptManagerバージョンを使用してください。

コードを document.ready ハンドラーでラップすることを忘れないことが重要です (IE では、それがないとほとんどの問題が発生します)。そのため、要素 (私の例ではid="dialog") は DOM にあり、準備ができています。"

于 2012-10-16T16:33:34.817 に答える
0

confirm()トリックを行う必要があります。このリンクを確認してください。http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm

于 2012-10-16T16:37:10.937 に答える
0

これはロングショットですが、使用window.confirm()すると改善されconfirm()ますか?

于 2012-10-16T16:34:04.217 に答える