0

我正在尝试创建一个表单,以便用户可以输入某些信息,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);
4

2 回答 2

5

您编写了正在寻找 id 的代码

document.getElementById('income1');

输入的id在哪里?

<input type="number" name="income1" value="0" onkeyup="update()">

名称与 id 不同。

你的 parseFloat 检查,你可能应该看看isNaN(). 你parseInt()在底部使用,你在parseFloat()上面使用!

于 2013-05-22T19:35:04.650 回答
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];
于 2013-05-22T19:42:31.267 回答