如何在文本框中忽略*键盘输入

时间:2013-10-03 05:35:13

标签: javascript html

我想忽略来自键盘的输入; 我正在尝试遵循代码;但是在发出警报之后; '*'正在文本框中打印

如何忽略'*'?

我的HTML代码

 <input name="filterTextField" type="text" id="filterTextField" tabindex="2"  style="width: 240px;
    position: absolute; top: 1px; left: 1px; z-index: 2;border:none;" onkeypress="asteriskValidation(event)" />

我的java脚本

function asteriskValidation(event){ 
 var textValue = document.getElementById('filterTextField').value;
var charCode = (event.which) ? event.which : event.keyCode;
                        if (charCode == 42)
                            { 
                                alert("asterix not allowed");
                                textValue = '';
                                return false;
                            }
                                else
                            {       
                                return true;
                            }
             }                  

4 个答案:

答案 0 :(得分:1)

您必须返回值onkeypress事件。尝试:

<input name="filterTextField" type="text" id="filterTextField" tabindex="2"  style="width: 240px;
    position: absolute; top: 1px; left: 1px; z-index: 2;border:none;" onkeypress="return asteriskValidation(event)" />

DEMO FIDDLE

答案 1 :(得分:0)

尝试这种方式:

DEMO

 $("#filterTextField").keypress(function (evt) {
      var keycode = evt.charCode || evt.keyCode;
      if (keycode  == 42) { //Enter key's keycode
        alert("asterix not allowed");
        return false;
     }
 });

答案 2 :(得分:0)

修复了访问textfield元素的方法。

如果您只想重置它,则无需返回布尔值。

尝试

function asteriskValidation(event){   
    var text = document.getElementById('filterTextField'); 
    var charCode = (event.which) ? event.which : event.keyCode;
    if (charCode == 42)
    { 
       alert("asterix not allowed");
       text.value = '';
    }
}

答案 3 :(得分:0)

制作如下所示的功能

$("input").keypress(function (event) {
  var keycode = event.charCode || event.keyCode;
  if (keycode  == 42) {
    return false;
 }
});