getElementById 或 parseInt 不起作用

getElementById or parseInt not working?

本文关键字:不起作用 parseInt getElementById      更新时间:2023-09-26

我正在尝试在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);
}

我收到的"错误"消息是:

"楠"

您忘记从输入元素中提取值:

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

添加.value

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

您需要获取代码中缺少的值。

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

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

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

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

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

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

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

如果您正在寻找获取相应文本框的值,请使用类似

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

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

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