简体   繁体   English

如何根据特定用户输入在JavaScript中显示警报

[英]How to show an alert in JavaScript based on specific user input

I need an alert that says "enter a digit from 0 to 9 please" when typing a letter, a comma, minus, plus, bracket, question mark etc. (only numbers can be entered). 输入字母,逗号,减号,加号,方括号,问号等时,我需要显示“请输入0到9之间的数字”的警报(只能输入数字)。

My alert is not working, I cannot connect it. 我的警报不起作用,我无法连接它。
I am asking you for help. 我正在寻求您的帮助。

The alert should be shown after trying to enter letters, commas etc. in the table, except for numbers 尝试在表格中输入字母,逗号等后,应显示警告,数字除外

 <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> 

Using Input type="number" with pattern="[0-9]*" allows letters in firefox as a reference. 使用输入type =“ number”和pattern =“ [0-9] *”可以将Firefox中的字母作为参考。

So with the help of regex you can prevent different input types. 因此,借助regex您可以防止使用不同的输入类型。 So on your onkeypress method use the following function: 因此,在您的onkeypress方法上使用以下功能:

<input onkeypress="preventNonNumericalInput(event)" type="number">

Then declare this function in your js file: 然后在您的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();
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用 javascript 创建一个 function,它将检查字段值/用户输入并在输入正确时显示警报? - How to create a function using javascript which will check a field value/user input and show alert if the input is correct? Javascript:如何使用循环功能在一个警报框中显示所有用户输入? - Javascript: How use a loop function to show all the user input in one single alert box? 如何验证复选框并在警报中显示所有用户输入? - How do I validate checkboxes and show all user input in an alert? 如何在使用JavaScript的表单验证中提醒用户纠正输入字段? - How to alert user to correct input fields in form validation using javascript? 如何显示基于Javascript中的变量的特定DIV - How to show a specific DIV based on variable in Javascript 如何根据用户输入从 JavaScript 中的菜单列表选项提交返回特定字符串? - How do I return a specific string based on user input from a menulist option submission in JavaScript? 如何根据用户输入重定向javascript - How to redirect based on user input javascript 如何根据用户输入使用JavaScript启动字幕? - How to start a marquee with JavaScript based on user input? 如何在javascript中显示警报框 - how to show an alert box In javascript 如果用户正在关闭浏览器,如何向用户显示警报? - How to show alert to user if the user is closing the browser?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM