簡體   English   中英

JavaScript輸入文本框加號

[英]JavaScript input text box adding plus number

我對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>

更改以下行:

var salary1 = parseInt(salaryData)  + 50; // Use parseInt or parseFloat

原因是JavaScript會將字符串和整數強制轉換為字符串。 因此,您的整數50將轉換為字符串,然后進行連接。

您可以通過簡單地添加加號將獲取的字符串值(連接到您的值)轉換為數字:

var salary1 = +salaryData  + 50;

jsFiddle示例

您必須先使用輸入運算符將從輸入控件中獲得的值轉換為浮點數或整數,然后再使用+運算符將其添加。 +運算符會將兩個操作數轉換為相同類型,然后再添加兩個操作數。 這是您獲得5050的主要原因,因為int類型的50已轉換為字符串。

使用此代碼:

function computeSalary(){
    var salaryData = document.form1.salary.value;
    var salary1 = parseFloat(salaryData)  + 50;
    document.form1.newSalary.value = salary1;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM