当我在输入中添加一个数字时,它不会改变保持在5的值,当我进入控制台并键入uw.value时,我得到"6"而不是6,我输入网络上的输入如何我得到一个号码而不是一个字符串?
<form>
<input type="number" id="wakken" type="number" value=5><br>
<input max="30" min="0" name="ijsberen" placeholder="Ijsberen" id="ijsberen" type="number" value= "5"><br>
<input max="30" min="0" name="wakken" placeholder="Penguins" id="penguins" type="number" value= 0><br>
<input type="button" value="submit" onclick="check()">
</form>
Run Code Online (Sandbox Code Playgroud)
var uw = document.getElementById("wakken")
var ui = document.getElementById("ijsberen")
var up = document.getElementById("penguins")
Run Code Online (Sandbox Code Playgroud)
退房:HTMLInputElement.valueAsNumber
元素的值,按顺序解释为以下之一:
- 时间价值
- 一个号码
- 如果无法转换,则为null
var testInput = document.getElementById("test-input");
function handleInput(e){
var value = this.valueAsNumber;
console.log("type: %s, value: %o", typeof value, value);
}
testInput.addEventListener("input", handleInput);
handleInput.call(testInput);
Run Code Online (Sandbox Code Playgroud)
<input type="number" id="test-input" type="number" value=5>
Run Code Online (Sandbox Code Playgroud)
这将返回NaN
非数字或非有限数字.
由于输入 HTMLElement.value
返回“字符串” ...。
通过使用将您转换"String" number
为Number
parseInt(value, 10); // for (whole) integer numbers
parseFloat(value); // for (point) floated numbers
Number(value); // to Number Object
Run Code Online (Sandbox Code Playgroud)
或通过简单地unary +
在值之前添加一个:
+value; // instead of parseInt()
Run Code Online (Sandbox Code Playgroud)
要完全确定您value
的电话号码,您还可以执行以下操作:
if(!isNaN(parseFloat(el.value)) && isFinite(el.value)){
/*true if element's value is a number (or a number in string) */
}
Run Code Online (Sandbox Code Playgroud)
例如:
var uw = document.getElementById("wakken");
var ui = document.getElementById("ijsberen");
var up = document.getElementById("penguins");
function check() {
// Log Strings
console.log(uw.value); // "5"
console.log(ui.value); // "5"
console.log(up.value); // "0"
// Log Numbers
console.log(Number(uw.value)); // 5
console.log(+uw.value); // 5
console.log(parseInt(ui.value, 10)); // 5
console.log(parseFloat(up.value)); // 0
}
Run Code Online (Sandbox Code Playgroud)
别忘了:阅读文档
parseInt()
parseFloat()
Number()
算术运算符
parseFloat(value)
您可以使用小数或整数将值从字符串转换为parseInt(value)
数字。
例如:
// uw will refer to the numerical value of the element with id = wakken
var uw = parseInt(document.getElementById("wakken").value);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18186 次 |
最近记录: |