脚本不调用

Script doesn't call

本文关键字:调用 脚本      更新时间:2023-09-26

我有一个简单的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> 

当我运行此页面时,它显示一个错误,即找不到myFunction

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

OnClientClick="myFunction()"
 protected void Page_Load(object sender, EventArgs e)
 {
     Button1.Attributes["onclick"] = "javascript:myFunction();";
 }

你想在代码隐藏页面中调用一个javascript函数,请使用这个。

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

尝试使用这个

OnClientClick="myFunction()"

否则,您也可以使用任何html控件的"OnClick"事件,例如"锚标记","div","input"等。例如:

<a href= "#" OnClick="myFunction()" > Click to call function</a>

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

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

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