在javascript中添加“确定”和“取消”按钮

时间:2012-10-16 16:26:50

标签: c# javascript jquery alert

   $(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时收到确定按钮,但我也想添加取消按钮。另外我从c#代码后面调用它

3 个答案:

答案 0 :(得分: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>

DEMO http://jsfiddle.net/rCVrc/

<强> 修改

引用Nick的回答here,您可以使用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中并准备就绪。“< / p>

答案 1 :(得分:0)

这是一个很长的镜头,但使用window.confirm()使用confirm()会有什么改进吗?

答案 2 :(得分:0)

confirm()应该做到这一点。检查此链接。 http://www.w3schools.com/js/tryit.asp?filename=tryjs_confirm