0

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

我怎样才能忽略'*'?

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

4 回答 4

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

于 2013-10-03T05:50:57.397 回答
0

刚刚修复了您访问文本字段元素的方式。

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

尝试

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 = '';
    }
}
于 2013-10-03T05:53:55.013 回答
0

制作如下功能

$("input").keypress(function (event) {
  var keycode = event.charCode || event.keyCode;
  if (keycode  == 42) {
    return false;
 }
});
于 2013-10-03T05:59:15.160 回答
0

试试这个方法:

演示

 $("#filterTextField").keypress(function (evt) {
      var keycode = evt.charCode || evt.keyCode;
      if (keycode  == 42) { //Enter key's keycode
        alert("asterix not allowed");
        return false;
     }
 });
于 2013-10-03T05:53:10.040 回答