在asp.net中使用javascript计算价格

Using javascript to calculate price in asp.net

本文关键字:javascript 计算 asp net      更新时间:2023-09-26

我在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传递给您的totalise函数,因此您无法查找它们。

第二,尝试对那些(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将没有效果。