我对JavaScript中的添加符号有疑问我对此有点困惑。我有这个输入文本框,我将输入为50,它将添加加50。我添加数字的结果,例如我输入50结果是5050,这是完全错误的。有人可以帮我吗?
<!DOCTYPE html>
<html>
<head>
<title>activity 2</title>
<script type="text/javascript">
function computeSalary(){
var salaryData = document.form1.salary.value;
var salary1 = salaryData + 50;
document.form1.newSalary.value = salary1;
}
</script>
</head>
<body>
<form name="form1">
Enter the daily salary:
<input type="text" name="salary" /><br />
<input type="button" value="Compute" onClick="computeSalary();" /><br />
<br />
The new salary: <input type="text" name="newSalary" />
</form>
</body>
</html>
答案 0 :(得分:0)
更改以下行:
var salary1 = parseInt(salaryData) + 50; // Use parseInt or parseFloat
原因是JavaScript会将字符串和整数强制转换为字符串。因此,您的整数50将转换为字符串,然后连接。
答案 1 :(得分:0)
答案 2 :(得分:0)
在使用+运算符添加之前,必须将从输入控件获得的值转换为float或integer。在添加两个操作数之前,+运算符将两个操作数转换为相同的类型。这是你获得5050的主要原因,因为int类型的50被转换为字符串。
使用此代码:
function computeSalary(){
var salaryData = document.form1.salary.value;
var salary1 = parseFloat(salaryData) + 50;
document.form1.newSalary.value = salary1;
}