我想将两个文本框中的值相乘(txtBox1应该包含一个Integer值,txtBox2应该包含一个Float值),然后将结果放在第三个文本框中。我的代码在下面,但是不起作用。 javascript函数被调用,否则将失败。有人可以帮我正确编码此代码吗:谢谢

       //the javascript function
       function CalculateTotal(id1, id2) {
            var txt1 = document.getElementById(id1);
            var txt2 = document.getElementById(id2);

            var total = txt1 * txt2;
            document.getElementById("txtTotal").value = parseFloat(total);
        }

        //c# code, programmatically adding attribute
        txtBox1.Attributes.Add("onBlur", "CalculateTotal('txtBox1, txtBox2')");

最佳答案

你应该改变

var total = txt1 * txt2;




var total = txt1.value * txt2.value;


txt1txt2是输入元素本身,而不是它们包含的值。

在下一行,您可以自己使用.value来设置参数;)

[编辑]

正如@Dan Dumitru所指出的,您可以使用parseFloat/parseInt,但是如果您的输入字段包含其他文本,小数点标记前的缺失数字,指数表示法等,则此功能将更为有用。

关于c# - 如何用JavaScript乘以文本框值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3528501/

10-11 13:21