如何将用户输入从ASP.NET TextBox传递给JavaScript函数?

时间:2016-12-15 19:01:19

标签: javascript asp.net

我正在尝试提取用户在文本框中输入的信息,并将值传递给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);
        }

1 个答案:

答案 0 :(得分:1)

这不符合你的想法:

OnClick="calcFunction()"

由于这是服务器端的ASP.NET“控件”而不是HTML元素,OnClick指的是ASP.NET的服务器端事件处理程序。但是你有一个客户端函数要执行。在这种情况下,请尝试:

OnClientClick="calcFunction()"

然而,需要注意的一件重要事情是,它仍然是服务器端的ASP.NET控件。这意味着在处理客户端点击事件后,它可能(取决于许多不相关的因素)仍然会调用回发到服务器的回复,这将刷新页面。初学者常常混淆的一个原因是快速页面刷新会“重置”他们的客户端状态并导致他们怀疑“它不起作用”。

通常,当您只想执行客户端操作时,您可能希望完全跳过服务器端控件,只使用普通的HTML元素。

另一个不相关的注释......您的JavaScript函数在函数声明中不需要那些c1, c2参数。值未传递给函数,并且函数中未使用传递的值。