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 对话框

<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

这是一个很长的镜头,但 usingwindow.confirm()有任何改进confirm()吗?

于 2012-10-16T16:34:04.217 回答