我正在尝试提取用户在文本框中输入的信息,并将值传递给JavaScript函数,以便在" window.alert()"中显示结果。方法
我目前正在使用ASP.NET。这就是我到目前为止的ASP.NET前端和JavaScript;
<asp:Button ID="btnCalculateSalary" runat="server" Text="Calculate Salary" OnClick="calcFunction()" />
<script>
function calcFunction(c1, c2) {
c1 = document.getElementById('txtAnnualHours').value;
c2 = document.getElementById('txtPayRate').value;
return window.alert("Your Annual Salary is: " + c1 * c2);
}
答案 0 :(得分:1)
这不符合你的想法:
OnClick="calcFunction()"
由于这是服务器端的ASP.NET“控件”而不是HTML元素,OnClick
指的是ASP.NET的服务器端事件处理程序。但是你有一个客户端函数要执行。在这种情况下,请尝试:
OnClientClick="calcFunction()"
然而,需要注意的一件重要事情是,它仍然是服务器端的ASP.NET控件。这意味着在处理客户端点击事件后,它可能(取决于许多不相关的因素)仍然会调用回发到服务器的回复,这将刷新页面。初学者常常混淆的一个原因是快速页面刷新会“重置”他们的客户端状态并导致他们怀疑“它不起作用”。
通常,当您只想执行客户端操作时,您可能希望完全跳过服务器端控件,只使用普通的HTML元素。
另一个不相关的注释......您的JavaScript函数在函数声明中不需要那些c1, c2
参数。值未传递给函数,并且函数中未使用传递的值。