使用 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>

首先,您实际上并没有将 rateqt 传递给求和函数,因此您无法查找它们。

其次,尝试对那些(rate.valueqty)值使用 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),这意味着您没有将任何内容作为 rateqt 参数传递,所以不可能获得适当的元素并检索它们的值。

其次,这个作业:var price = rate; 看起来多余。您正在从已传递给某个浮点值的控件中覆盖 price 的值,因此稍后此调用 price.value = rate * qty 将无效。