如何在ASP.NET按钮单击时调用JavaScript?

3
我正在使用ASP.NET,并希望执行以下JavaScript代码。我正在使用VS2010。
   <title></title>
<script type="text/javascript">
    function myClosure() {
        var canyousee = "here I'm ";
        return (function theClosure() {
            return { canyouseeIt: canyousee ? "yes" : "no" };
        });
    }
    var closure = myClosure();
    closure().canyouseeIt;
</script>
</head>

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="myClosure();" />
    </div>

我该如何在按钮点击时执行function myClosure()以便弹出confirm, 即弹出yesno

  1. 我需要使用哪段代码来实现confirm弹框?
  2. 我如何在Button Click上执行它?

谢谢。


1
那不是警告,而是确认。 - karaxuna
我需要添加哪些代码来实现这个? - Neo
确认('这是一个是或否问题'),它将返回布尔值。 - karaxuna
4个回答

4

使用

onclientclick="javascript:return YourFunction();"

<script> 
function YourFunction() {
//Do your stuff

return true;
}
</script>

如果您返回true,您的asp.net onclick事件将被调用。 如果您返回false,则不会被调用。

4
<html>
<head>
<script type="text/javascript">
function myClosure(){
          var r=confirm("Press a button!")
        if (r==true)
        {
             alert("You pressed OK!")
             return true;
        }
        else
        {
              alert("You pressed Cancel!");
              return false;
        }

}
</script>
</head>

<body>
<form id="form1" runat="server">
<div>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="myClosure();" />
</div>
</body>
</html>

4

希望这可以帮到你。我必须承认,你想要实现的目标对我来说并不清楚。

<title></title>
<script type="text/javascript">
     myClosure=function() {
        var canyousee = "here I'm ";
        return (function () {
            return { canyouseeIt: function(){return confirm (canyousee)}};
        });
    }
</script>
</head>

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="(myClosure())().canyouseeIt()" />
    </div>

1
你所说的是阻止页面回传,可以通过在

处返回 false 来实现。
OnClientClick="myClosure();return false;"

我不知道也不理解你剩下的逻辑,但这是你现在面临的问题。


对我没用 :( 在我的逻辑中,我基本上尝试了JavaScript闭包概念,没有其他的。 - Neo
@ashuthinks 当我说“你的逻辑”时,我指的是你喜欢遵循的步骤。无论如何,请检查其他 JavaScript 错误。这是方法。 - Aristos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接