getElementById或parseInt不工作?

时间:2015-01-23 06:15:40

标签: javascript html getelementbyid

我正在尝试在HTML / Javascript上编写一个简单的表单,我输入一个数字,添加一个然后显示它。我得到了它的工作,但它连接了一个而不是添加它。我使用了parseInt(),但它显示的是“Nan”。有什么建议吗?

HTML是:

<head> <link src="script.js" type="text/javascript"></script></head>
<body>
    <input type="text" id="grossSalary">
    <button type="button" onclick="calculateTax()"> 
    Generate Tax
    </button>
</body>

Javascript是:

function calculateTax(){
   var salaryString = document.getElementById("grossSalary");
   var salaryInteger = parseInt(salaryString);
   alert(salaryInteger + 1);
}

我收到的“错误”消息是:

“南”

6 个答案:

答案 0 :(得分:3)

您忘记从input元素中提取值:

var salaryString = document.getElementById("grossSalary").value;

答案 1 :(得分:3)

添加.value

 var salaryString = document.getElementById("grossSalary").value;

答案 2 :(得分:2)

您需要获取代码中遗漏的值。

var salaryString = document.getElementById("grossSalary").value;

答案 3 :(得分:1)

问题在于您在javascript中设置salaryString变量。 您需要确保收集所选元素的值。像这样:

var salaryString = document.getElementById("grossSalary").value;

执行此操作后,您的代码应按预期运行。

答案 4 :(得分:0)

要从文本框中查找值,您必须使用.value。所以更新你的JS代码

function calculateTax(){
    var sal = document.getElementById("grossSalary");
    var salaryInteger = parseInt(sal.value);
    alert(salaryInteger + 1);
}

答案 5 :(得分:0)

getElementById()方法返回具有指定值的ID属性的元素。  所以,当你尝试

var salaryString = document.getElementById("grossSalary");

所以这里salaryString是对Element对象的引用,如果具有指定ID的元素不在文档中,则为null。

如果您要查找相应文本框的值,请使用

之类的内容
var salaryString = document.getElementById("grossSalary").value;