2012-03-19 101 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