我在gridview中使用文本框并希望通过文本框中的js计算值,我的代码没有显示任何错误。我想将数量乘以费率并获得总价。
function totalise(price, rate, qt) {
var qty = window.document.getElementById(qt).value;
var rate = window.document.getElementById(rate).value;
var price = rate;
price.value = rate * qty;
}
<asp:TextBox ID="txtStonePrice" runat="server" onblur=" totalise(this)" ></asp:TextBox>
答案 0 :(得分:0)
首先,您实际上没有将predict
和rate
传递给您的累计功能,因此您无法查找它们。
其次,尝试对那些(qt
和rate.value
)值使用parseFloat或parseInt,否则它们将是字符串。
第三,速率已经等于ID == rate的元素的值,所以在你解决了我提到的其他两件事之后,你会想要这样的东西:
(注意我忽略了一些错误的命名约定。另外,你应该做一些错误检查,以确保你实际上得到你通过Id查找的元素)
qty
答案 1 :(得分:0)
嗯,我在这里看到了几个问题。
首先,您将onblur
事件处理程序中的函数调用为totalise(this)
,这意味着您没有传递rate
和qt
个参数,所以它是不可能获得适当的元素并找回他们的价值。
其次,这项任务:var price = rate;
看起来多余。您将price
的值从您传递给某个浮点值的控件上覆盖,因此稍后此调用price.value = rate * qty
将无效。