簡體   English   中英

不應在文本字段中接受數字

[英]should not accept digits in text field

我正在使用一個不應接受數字的文本字段。 因此,我編寫了一個名為validate()函數的腳本。 即使看起來可行,也非常糟糕。 用戶可以看到輸入的數據(即不想要的數字)。 我想在顯示用戶輸入之前對其進行檢查。 如果用戶輸入的數據不是數字,則僅應可見。 是否有類似javascript(或) 中C語言的getch()函數的功能,為我提供了解決方案?

這是我的代碼:

    <script>
    function validate()
    {
      var s=t1.value;
      var res="";
      for(i=0;i<s.length;i++)
      {
        var ascii=s.charCodeAt(i);
        if(ascii<48 || ascii>57)
          res+=String.fromCharCode(ascii);  
      }
      t1.value=res;
    }
    </script>
    <input type="text" id="t1" onkeypress="val();">
onkeypress="val()";

而您已經編寫了一個稱為validate()的方法

所以將其更改為

onkeypress="validate()";

剩下的似乎還不錯,看小提琴

從您的html元素上按下按鍵時調用此函數| 演示

數字不被接受,並且在文本框中將不可見

<input type="text" onkeypress="return checks(this,event)" />

的JavaScript

function checks(dis,ev)
{
 var e = ev || window.event;
 var key = e.which||e.keyCode;
if(key>=48 && key<=57)
return false;
else
return true;
}

試試這個:

<script>
  function validate(input){
     return (event.keyCode < 48 || event.keyCode > 57);
  }
</script>
<input type="text" id="t1" onkeydown="return validate(this);">

在這里運行: http : //jsfiddle.net/edgarinvillegas/XPvU2/1/

希望這可以幫助。 干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM