javascript - 如何根据特定用户输入在 JavaScript 中显示警报
问题描述
在键入字母、逗号、减号、加号、括号、问号等时,我需要一个提示“请输入 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>
解决方案
使用Input type="number" 和 pattern="[0-9]*" 允许 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();
}
}
推荐阅读
- javascript - 如何使用地图在 javascript 函数中呈现 json 数据 - Reactjs
- c# - 如何在 C# 中从 PDF 中解密 SHA256 Base64 哈希
- python - 计算数据框中的连续重复元素并将它们存储在新列中
- react-native - 组件 JSX 元素是否必须彼此相邻?
- list - 从文本值列表中创建记录
- javascript - 用猴子修补的`test`和useFakeTimers开玩笑“在5000毫秒超时内未调用异步回调”
- php - Symfony5:覆盖 Mailer() 参数
- scala - 为什么Scala允许传递null?
- mysql - 数据库无法连接到我在 digitalocean 上的不和谐机器人 (discord.py)
- vaadin - Vaadin 拆分布局侦听器 - 来自客户端的 div 宽度