2012-03-19 141 views
1

我有以下的JavaScript函数来做一些计算文本框,但是当我在文本框中调用这个函数时,它不起作用。这里是我的JS代码javascript计算公式不起作用

更新

<script type="text/javascript" language=javascript> 
function calc() 
{ 
var pkrusd; 
var pkrusd = parseFloat(document.getElementById("<%=txtpkrusd.ClientID %>").value, 10); 
var ratelb; 
ratelb = parseFloat(document.getElementById("<%=txtRatelb .ClientID %>").value, 10); 
var res; 
res = parseFloat(document.getElementById("<%=txtF5.ClientID %>").value, 10); 
res=pkrusd*ratelb; 
} 
</script> 

<asp:TextBox ID="txtpkrusd" runat="server" BackColor="Yellow" style="text-align:right" onkeyup="calc()"></asp:TextBox> 
    <asp:TextBox ID="txtRatelb" runat="server" BackColor="Yellow" Style="text-align: right" onkeyup="calc()"></asp:TextBox> 

请任何一个帮助我发现究竟我在代码中我想念。

+0

不要忘记您在服务器端ASP标记中提供的标识可能不是用作客户端HTML中输入标记输出的标识。运行应用程序并查看源代码以检查生成的客户端ID。 – GrantVS 2012-03-19 06:21:00

回答

4

你的变量不是数字。它们是字符串,所以添加只是将它们连接在一起。

它们转换成整数:

var pkrusd = parseInt(document.getElementById('txtpkrusd').value, 10); 

或者浮动:

var pkrusd = parseFloat(document.getElementById('txtpkrusd').value); 
+0

仍然不起作用请在这里chek 202.125.144.34:81/Calc.aspx – 2012-03-19 06:21:16

+0

你的函数做什么?它可以工作,但你不会对'res'变量做任何事情。 – Blender 2012-03-19 06:23:04

+0

好吧,爵士与res有什么关系? – 2012-03-19 06:26:41

0

检查你的ID的脚本。您需要使用txtRatelb而不是txtratelb。它们区分大小写。

+0

仍然没有效果先生 – 2012-03-19 06:23:22

+0

嗯,它有影响,据我在“202.125.144.34:81/Calc.aspx”看到的。但是你对你的res变量没有做任何事情。你能描述一下它的用途吗? – 2012-03-19 06:26:07

+0

先生,我已经更新了我的代码,请检查它仍然无法正常工作 – 2012-03-19 06:31:30