0

我有一个简单的 asp 页面,其中包含一个包含执行两个数字相加的函数 myFunction 的脚本。

<head runat="server">
    <title></title>

     <script type="text/javascript">
         function myFunction() {
             var x = 10;
             var y = 5;
             x += y;
             var demoP = document.getElementById("demo")
             demoP.innerHTML = "x=" + x;
         }
    </script>

</head>
<body>
    <form id="form1" runat="server">


    <div>


    </div>
    <p>
        &nbsp;</p>
    <p id="demo">
        <asp:Button ID="Button1" runat="server"

            style="z-index: 1; left: 573px; top: 43px; position: absolute; height: 33px; width: 223px;" Text="Button" OnClick="myFunction()" />
    </p>



    </form>
</body> 

当我运行此页面时,它显示找不到 myFuntion 的错误。

4

4 回答 4

5

OnClick用于服务器端回调。您想调用客户端函数。所以你应该OnClientClick改用:

OnClientClick="myFunction()"
于 2012-06-14T08:06:05.710 回答
2
 protected void Page_Load(object sender, EventArgs e)
 {
     Button1.Attributes["onclick"] = "javascript:myFunction();";
 }

您想在页面后面的代码中调用 javascript 函数,请使用它。

于 2012-06-14T09:02:07.833 回答
0

要从 aspbutton 调用 javascript 函数,您必须使用 'onclientclick' 事件而不是按钮的 'onclick' 事件。

尝试使用这个

OnClientClick="myFunction()"

否则,您还可以使用任何 html 控件的“OnClick”事件,例如“锚标记”、“div”、“输入”等。例如:

<a href= "#" OnClick="myFunction()" > Click to call function</a>
于 2012-06-14T08:23:41.460 回答
0

当你想调用一个 javascript 函数时,使用这个

<input type="button" id="Button1" value="Button" onclick="myFunction()" />

控件<asp:是服务器端控件,OnClick 事件将调用服务器端方法。您的代码隐藏文件中没有定义“myFunction”方法,因此您将收到服务器端错误。

于 2012-06-14T08:34:56.313 回答