此代码适用于Chrome,但不适用于IE。为什么??这很简单,但我没有看到我的错误。
<script>
function calc() {
var summ = (parseFloat(q2.value) + parseFloat(q3.value) + parseFloat(q4.value)+ ( parseFloat(qn2.value) + parseFloat(qn3.value) + parseFloat(qn4.value) ) * 6 ) * 1.13;
summ = parseFloat(summ).toFixed(2);
document.getElementById('sum2').innerHTML = summ;
alert(summ);
}
</ script>
和html(删除所有文字,只输入)
<form method="" action="">
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '00.00';}" value="00.00" maxlength="14" size="4" id="q2"/>
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '00.00';}" value="00.00" maxlength="14" size="4" id="q3"/>
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '00.00';}" value="00.00" maxlength="14" size="4" id="q4"/>
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '0';}" value="0" maxlength="14" size="4" id="qn2"/>
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '0';}" value="0" maxlength="14" size="4" id="qn3"/>
<input type="number" onClick="calc();" onChange="calc();" onblur="if (this.value == '') {this.value = '0';}" value="0" maxlength="14" size="4" id="qn4"/>
<p><span id="sum2" style="color: red; font-weight: bold;">00.00</span> the result</p>
<center><input type='button' onclick='calc()' value='Обновить'/></center>
</ html>
我做错了什么?我已经发现IE不喜欢name="..." tag
并从代码中删除所有这些内容。
答案 0 :(得分:3)
查看控制台,它会告诉您有错误
SCRIPT5009: 'q2' is undefined show, line 22 character 9
不要直接通过id引用元素,需要使用document.getElementById()
您需要做的是
parseFloat(document.getElementById("q2").value)