2013-11-15 66 views
1

我必须做的是不允许在表单中的文本输入中引入数字字符,但我必须使用javascript来完成。这里是我的HTML代码:在使用js的文本输入中禁用数字输入

<form id="formu"> 
<input type="text" id="num" /> 
</form> 

这是我的JS代码:

function numero(theEvent){ 

    var evento=theEvent||window.event; 

     switch(evento.type){ 
      case 'keypress': 
       if(document.getElementById("num").evento.keyCode>=48&&document.getElementById("num").evento.keyCode<=57){ 
        return false; 
       } 
     } 
    } 
+0

哪里ü打电话NUMERO (事件) ? –

回答

6

可以使用新格局ATTRIB HTML,

<input type="text" id="num" pattern="[A-Za-z]" title="Only Alphabets"> 
2
function validateKeyStrokes(event) { 
    var charCode = (event.which) ? event.which : event.keyCode; 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
     return false; 
    } 
    return true; 
} 


<form id="formu"> 
<input type="text" id="num" onkeypress="return validateKeyStrokes(event)" /> 
</form> 

试试这个

+0

1+作品为''标签以及 – Fanckush

0

尝试使用jQuery和插件进行输入文本字段过滤

See here

+0

为什么要使用这样一个大型图书馆来验证击键? –

+0

在某些情况下确实可能会矫枉过正。另一方面,jQuery通过许多常见的任务使生活更轻松,这可以证明使用它的合理性。我也想过按键事件,但它不会处理粘贴。 – fan711

+0

这可以通过onblur事件来解决 –

0

您还可以使用HTML5的新的输入类型号:

<input type="number" name="num" id="num"> 

但是,如果你想提供旧版浏览器支持小心使用...