這個問題在這里已經有了答案: 輸入值是字串而不是數字 (4 個回答) 25 分鐘前關閉。
如果我輸入我的輸入,例如 15,它會將它讀取為 1 和 5。如何更改它,以便 javascript 不會像兩個不同的值一樣讀取它?
function generate() {
var x = document.forms["form"]["firstInput"].value;
var y = document.forms["form"]["secondInput"].value;
if (isNaN(x) || isNaN(y)) {
document.getElementById("errorf").innerHTML =
"Input has to be a number!";
document.getElementById("wynikf").innerHTML = "";
} else if (x > y) {
document.getElementById("wynikf").innerHTML =
"First value can't be lower than second value";
} else if (x == null || x == "" || y == null || y == "") {
document.getElementById("errorf").innerHTML =
"Input can't be empty!";
document.getElementById("wynikf").innerHTML = "";
} else {
for (var counter = x; counter <= y; counter ) {
document.getElementById("result").innerHTML =
counter "\n";
}
}
}
uj5u.com熱心網友回復:
在檢查大于或小于之前,您需要將值轉換為數字。
無需將字串轉換為數字,您只需按字母順序對它們進行排序
例如:
"15" > "3" // false because '1' comes before '3'
15 > 3 // true because the number 15 is greater than 3
使用Number(value)的值轉換為數字。
function generate() {
var x = Number(document.forms["form"]["firstInput"].value);
var y = Number(document.forms["form"]["secondInput"].value);
if (isNaN(x) || isNaN(y)) {
document.getElementById("errorf").innerHTML =
"Input has to be a number!";
document.getElementById("wynikf").innerHTML = "";
} else if (x > y) {
document.getElementById("wynikf").innerHTML =
"First value can't be lower than second value";
} else {
for (var counter = x; counter <= y; counter ) {
document.getElementById("result").innerHTML =
counter "\n";
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/399359.html
標籤:javascript 输入 数字
