使用 javascript 计算 asp.net 中的价格
Using javascript to calculate price in asp.net
我在 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>
首先,您实际上并没有将 rate
和 qt
传递给求和函数,因此您无法查找它们。
其次,尝试对那些(rate.value
和 qty
)值使用 parseFloat 或 parseInt,否则它们将是字符串。
第三,rate 已经等于 ID==rate 的元素的值,所以在你解决了我提到的其他两件事之后,你会想要这样的东西:
(请注意,我忽略了一些糟糕的命名约定。另外,您可能应该进行一些错误检查以确保您确实获得了通过 Id 查找的元素)
function totalise(price, rate, qt) {
var qty = window.document.getElementById(qt).value;
var rate = window.document.getElementById(rate);
var price = rate;
price.value = parseFloat(rate.value) * parseFloat(qty);
}
嗯,我看到这里有几个问题。
首先,您从 onblur
事件处理程序调用您的函数作为 totalise(this)
,这意味着您没有将任何内容作为 rate
和 qt
参数传递,所以不可能获得适当的元素并检索它们的值。
其次,这个作业:var price = rate;
看起来多余。您正在从已传递给某个浮点值的控件中覆盖 price
的值,因此稍后此调用 price.value = rate * qty
将无效。
我在 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>
首先,您实际上并没有将 rate
和 qt
传递给求和函数,因此您无法查找它们。
其次,尝试对那些(rate.value
和 qty
)值使用 parseFloat 或 parseInt,否则它们将是字符串。
第三,rate 已经等于 ID==rate 的元素的值,所以在你解决了我提到的其他两件事之后,你会想要这样的东西:
(请注意,我忽略了一些糟糕的命名约定。另外,您可能应该进行一些错误检查以确保您确实获得了通过 Id 查找的元素)
function totalise(price, rate, qt) {
var qty = window.document.getElementById(qt).value;
var rate = window.document.getElementById(rate);
var price = rate;
price.value = parseFloat(rate.value) * parseFloat(qty);
}
嗯,我看到这里有几个问题。
首先,您从 onblur
事件处理程序调用您的函数作为 totalise(this)
,这意味着您没有将任何内容作为 rate
和 qt
参数传递,所以不可能获得适当的元素并检索它们的值。
其次,这个作业:var price = rate;
看起来多余。您正在从已传递给某个浮点值的控件中覆盖 price
的值,因此稍后此调用 price.value = rate * qty
将无效。