当输入一个字母,一个逗号,减号,加号,括号,问号等时,我需要一个提示“请输入0到9之间的数字”(只能输入数字)。
我的警报无效,我无法连接 我在向你求助。
尝试在表格中输入字母,逗号等后,应显示警告,但数字除外
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
(function($) {
$.fn.average = function() {
var sum = 0;
this.each(function() {
sum += parseFloat($(this).val());
//;
});
return sum / $(this).length;
}
})(jQuery);
$(document).ready(function() {
$(":reset")
});
$(document).ready(function() {
$("#calc").click(function() {
var s = $("input[type='number']").average();
console.debug(s);
$('#result').html(s);
});
$(".reset").on('click', function() {
$("#result").html(" ");
})
});
</script>
<h1>Oblicz średnią:</h1>
<form action="">
<input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
<input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
<input onkeypress="if((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 44))return false" type="number"><br>
<div id="result" type="reset"></div><br>
<input type="button" id="calc" value="Licz">
<input type="reset" value="Reset" class="reset">
</form>
<script>
function setTimeout(function() {}, 10);
() {
confirm("Press a button!");
}
</script>
</body>
</html>
答案 0 :(得分:0)
使用Input type="number" with pattern="[0-9]*" allows letters in firefox作为参考。
因此,在regex
的帮助下,您可以阻止不同的输入类型。因此,在onkeypress
方法上使用以下函数:
<input onkeypress="preventNonNumericalInput(event)" type="number">
然后在js
文件中声明此功能:
function preventNonNumericalInput(e) {
e = e || window.event;
var charCode = (typeof e.which == "undefined") ? e.keyCode : e.which;
var charStr = String.fromCharCode(charCode);
if (!charStr.match(/^[0-9]+$/)){
alert("Enter a digit from 0 to 9 please")
e.preventDefault();
}
}