我是初学者在HTML中使用javaScript,我试图在用户输入的两个值之间创建一个乘法,并将结果显示在另一个文本框中,但结果显示错误。
有三个文本框,第一个框我放2和第二个7,在第三个文本框中它应该显示结果是14,但它显示结果是98.
有人能帮助我吗?
我的HTML代码如下:
<tr style="background:#fafafa;">
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><textarea name="exp_desc" id="exp_desc" rows="3" cols="35"></textarea></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0; color: #D6D6D6;"><input class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input span id='sum' class ="txt" type="text" name="txt"></span></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input type="file" name="datafile[]" size="40"></td>
</tr>
和javaScript是:
$(document).ready(function(){
$(".txt").each(function() {
$(this).keyup(function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 1;
$(".txt").each(function() {
if(!isNaN(this.value) && this.value.length!=0) {
sum *= parseFloat(this.value);
}
});
// enter code here
$("#sum").val(sum.toFixed(2));
}
答案 0 :(得分:0)
将您的javascript修改为:
<script>
var num1=0;
var num2=0;
$(document).ready(function(){
$("#txt1,#txt2").on("keyup",function(){
num1 = $("#txt1").val();
num2 = $("#txt2").val();
if(!isNaN(this.value) && this.value.length!=0) {
num1 *= parseFloat(num2);
$("#sum").val(num1.toFixed(2));
}
});
});
</script>
HTML:
<tr style="background:#fafafa;">
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><textarea name="exp_desc" id="exp_desc" rows="3" cols="35"></textarea></td>
<td style="border: 1px solid #ccc; border-width: 1px 1px 0 0; color: #D6D6D6;"><input class ="txt" type="text" name="txt" id="txt1"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input class ="txt" type="text" name="txt" id="txt2"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input id='sum' class ="txt" type="text" name="txt"></td>
<td style="border:1px solid #ccc; border-width:1px 1px 0 0;"><input type="file" name="datafile[]" size="40"></td>
</tr>