我正在尝试创建一个表单,以便用户可以输入某些信息,JavaScript将为它们进行计算。我一直在尝试使用http://demo.rsjoomla.com/calculation-form-example(左边的那个)来开始基础知识,我可以从那里进行操作。到目前为止,它只在IE中工作。
以下是我的代码的基本布局:
HTML
<input type="number" name="income1" value="0" onkeyup="update()">
<input type="number" name="income2" value="0" onkeyup="update()">
<input type="number" name="income3" value="0" onkeyup="update()">
的JavaScript
var op1=document.getElementById('income1');
var op2=document.getElementById('income2');
var result=document.getElementById('income3');
if(op1.value=="" || op1.value!=parseFloat(op1.value)) op1.value=0;
if(op2.value=="" || op2.value!=parseFloat(op2.value)) op2.value=0;
result.value=0;
result.value=parseInt(result.value);
result.value=parseInt(result.value)+parseInt(op1.value) - parseInt(op2.value);
答案 0 :(得分:5)
您编写的代码正在寻找ID
document.getElementById('income1');
输入中的id在哪里?
<input type="number" name="income1" value="0" onkeyup="update()">
名称与id不同。
你的parseFloat检查,你可能应该看看isNaN()
。您在底部使用parseInt()
,而您正在使用parseFloat()
以上!
答案 1 :(得分:0)
如果您要执行getElementById,则需要在元素中包含ID。
<input type="number" id="income1" value="0" onkeyup="update()">
var op1=document.getElementById('income1');
或者您可以使用jQuery(需要包含jQuery源代码):
<input type="number" name="income1" value="0" onkeyup="update()">
var op1 = ${"input[name=income1]").val();
或者,您可以这样做,假设您只有一个名为income1的元素。这不是一个很好的方法,但它应该工作。
<input type="number" name="income1" value="0" onkeyup="update()">
var op1=document.getElementsByName('income1')[0];