文本框如何實現限制輸入字數效果


在很多網站都有這樣的功能,那就是可以限制在文本框內輸入文字的數量,有的是讓文字不超過多少字,有的是文字不能少於多少字,原理基本是一樣的,下面就介紹一下如何是用JS實現此功能,代碼實例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.51texiao.cn/" />
<title>螞蟻部落</title>
<script type="text/javascript">
window.onload=function()
{
  var textarea=document.getElementById("mytext");
  textarea.onkeyup=function()
  {
    checkMax(textarea,10);
  }     
}
function checkMax(textarea,maxLength)
{    
  var str=textarea.value;    
  var strlen=str.length;    
   
  if(strlen>maxLength)
  {    
    alert('字數超過限制');    
    eval(textarea.value=str.substr(0,maxLength));    
  }    
}    
</script>
</head>
<body style="text-align:center">
<h1>請在文本框內輸入文本測試功能</h1>
<textarea name="textfield" cols="60" rows="10" id="mytext"></textarea>
</body>

</html>

以上代碼實現了限制文字輸入數量功能,並且可以將文本框內輸入的文本截取至指定的數量。簡單介紹一下實現過程:
一.功能的實現的核心是checkMax()函數,此函數具有兩個參數,一個參數是要限制輸入文本數量的對象,一個是要限制的數量。
二checkMax()函數體內功能介紹如下:
var str=textarea.value;
獲取文本框內的輸入值,同時計算出來輸入值的長度。下面的if語句用來判斷當前輸入文本的長度是否超過了指定的限制長度,如果超過會彈出一個警告框,並且通過substr()將超出的部分截取掉。
三.window.onload=function() {...}的作用是當文檔加載完成后才可以執行函數體內的代碼,否則,由於代碼是順序執行,會導致 document.getElementById("mytext")無法獲取對象。然后為文本框的onkeyup事件綁定事件處理函數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM