use*_*775 2 html textbox numbers input
我有一个数字输入文本框,我希望允许用户进行编辑,但不想允许用户输入除数字以外的任何其他文本。我希望他们只能使用数字输入框上的箭头。
<input type = "number" min="0" max="10" step="0.5" input id="rating" name = "rating" class = "login-input" placeholder = "Rating 1-5:" value="0">
Run Code Online (Sandbox Code Playgroud)
您可以通过pure实现此目的JavaScript。创建可以在脚本中重复使用的函数。
function allowNumbersOnly(e) {
var code = (e.which) ? e.which : e.keyCode;
if (code > 31 && (code < 48 || code > 57)) {
e.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
您最好调用此onkeypress事件处理程序。
<input type="text" id="onlyNumbers" onkeypress="allowNumbersOnly(event)" />
Run Code Online (Sandbox Code Playgroud)
function allowNumbersOnly(e) {
var code = (e.which) ? e.which : e.keyCode;
if (code > 31 && (code < 48 || code > 57)) {
e.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
<input type="text" id="onlyNumbers" onkeypress="allowNumbersOnly(event)" />
Run Code Online (Sandbox Code Playgroud)
但是,我建议您使用JS的风格,因为这样可以保持HTML的语义并避免污染。您可以在事件处理程序上执行函数,该事件处理程序将使用原始JavaScript或jQuery附加到此文本框。
function allowNumbersOnly(e) {
var code = (e.which) ? e.which : e.keyCode;
if (code > 31 && (code < 48 || code > 57)) {
e.preventDefault();
}
}Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
Try editing in me:
<input type="text" id="onlyNumbers" onkeypress="allowNumbersOnly(event)" />
</body>
</html>Run Code Online (Sandbox Code Playgroud)
要限制每个字符,您只需使用即可e.preventDefault()。
此外,您也可以使用它,return false但是preventDefault()在这种情况下更好,return false应该明智地选择。很高兴知道他们之间的区别。