如何根据特定用户输入在 JavaScript 中显示警报
How to show an alert in JavaScript based on specific user input
我需要在键入字母、逗号、减号、加号、括号、问号等(只能输入数字)时提示 "enter a digit from 0 to 9 please"。
我的警报不起作用,我无法连接它。
我请求你的帮助。
尝试在 table 中输入字母、逗号等后应显示警告,数字除外
<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>
使用 作为参考。
因此,在 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();
}
}
我需要在键入字母、逗号、减号、加号、括号、问号等(只能输入数字)时提示 "enter a digit from 0 to 9 please"。
我的警报不起作用,我无法连接它。
我请求你的帮助。
尝试在 table 中输入字母、逗号等后应显示警告,数字除外
<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>
使用
因此,在 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();
}
}