<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計(jì)

    留言簿(23)

    積分與排名

    優(yōu)秀學(xué)習(xí)網(wǎng)站

    友情連接

    閱讀排行榜

    評論排行榜

    控制textarea文本長度,限制輸入字?jǐn)?shù)(帶統(tǒng)計(jì))的特效[zhuan]

    <script>
    function getStringUTFLength(str) {
        var value = str.replace(/[^\x00-\xff]/g,"  ");
        return value.length;
    }

    function leftUTFString(str,len) {
        if(getStringUTFLength(str)<=len)
            return str;
        var value = str.substring(0,len);

        while(getStringUTFLength(value)>len) {
            value = value.substring(0,value.length-1);
        }
        return value;
    }

    function count() {
        var value = document.getElementById("licenseother").value;
        value = value.replace(/[\u4e00-\u9fa5]/g,"  ");
        //alert(value.length);
        if(value.length>=255) {
            with(window.event) {
                cancelBubble = true;
                keyCode=0;
                returnValue = false;
            }
            document.getElementById("licenseother").value = leftUTFString(document.getElementById("licenseother").value,8);
        }
        document.getElementById("result").value = 255-getStringUTFLength(document.getElementById("licenseother").value);
    }
    </script>
    <table width="100%">
    <tr><td>
    本輸入框限制輸入255個(gè)字符(漢字計(jì)算為2個(gè)字符:)
    </td></tr>
    <tr><td>
    <textarea cols=80 rows=3 wrap="virtual" id="licenseother" onkeypress="count()" onkeyup="count()" onblur="count();" onChange="count();"></textarea>

    </td></tr>
    <tr><td>
    剩余字符數(shù):<input type="text" size="3" id="result" value="255">
    </td></tr>
    </table>
    }


    示例如下:
    本輸入框限制輸入255個(gè)字符(漢字計(jì)算為2個(gè)字符:)
    剩余字符數(shù):


    //

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns:mudoo>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>statInput 輸入限制統(tǒng)計(jì)</title>
    <style type="text/css">
    <!--
    {padding: 0; margin: 0}
    body 
    {margin: 3em; font: 12px Tahoma; background: #EAEAEA; color: #333333; line-height: 20px}
    input, textarea 
    {font: 12px Tahoma; color: #666666; padding: 2px; border: solid 1px #DBDBDB}
    textarea 
    {padding: 5px; line-height: 20px}
    {margin: 1em 0}
    ul 
    {}
    li 
    {height: 1%; overflow: hidden; list-style-type: none}
    {color: #666666; text-decoration: none}
    a:hover 
    {color: #333333}
    .r 
    {float: right}
    .l 
    {float: left}
    .b 
    {font-weight: bold}
    .gray 
    {color: #666666; margin-top: 8px}
    .light 
    {color:#FF6600; margin: 0 5px}
    .case 
    {display: block; padding: 0 2em 2em 2em; border: solid 1px #EAEAEA; background: #FFFFFF; margin-bottom: 2em; height: 1%; overflow: hidden}
    .title 
    {display:block; padding: .5em 2em .5em 1em; margin: 0 -2em 2em -2em; font-weight: bold; color: #000000; background: #FAFAFA; border-bottom: solid 1px #EAEAEA}
    .call 
    {display:block;}
    .key 
    {display: block; width: 6em; float: left}
    .type 
    {display: block; width: 6em; float: left}
    .info 
    {padding-left: 2em}
    .demo 
    {margin-bottom: 2em}
    -->
    </style>
    <script language="javascript" type="text/javascript">
    <!--
    // 這里都是公用函數(shù),挺多的
    var
    // 獲取元素
    = function(element) {
     
    return (typeof(element) == 'object' ? element : document.getElementById(element));
    }
    ,
    // 判斷瀏覽器
    brower = function() {
     
    var ua = navigator.userAgent.toLowerCase();
     
    var os = new Object();
     os.isFirefox 
    = ua.indexOf ('gecko') != -1;
     os.isOpera 
    = ua.indexOf ('opera') != -1;
     os.isIE 
    = !os.isOpera  &&  ua.indexOf ('msie') != -1;
     os.isIE7 
    = os.isIE  &&  ua.indexOf ('7.0') != -1;
     
    return os;
    }
    ,
    // 事件操作(可保留原有事件)
    eventListeners = [],
    findEventListener 
    = function(node, event, handler){
     
    var i;
     
    for (i in eventListeners){
      
    if (eventListeners[i].node == node  &&  eventListeners[i].event == event  &&  eventListeners[i].handler == handler){
       
    return i;
      }

     }

     
    return null;
    }
    ,
    myAddEventListener 
    = function(node, event, handler){
     
    if (findEventListener(node, event, handler) != null){
      
    return;
     }

     
    if (!node.addEventListener){
      node.attachEvent('on' 
    + event, handler);
     }
    else{
      node.addEventListener(event, handler, 
    false);
     }

     eventListeners.push(
    {node: node, event: event, handler: handler});
    }
    ,
    removeEventListenerIndex 
    = function(index){
     
    var eventListener = eventListeners[index];
     
    delete eventListeners[index];
     
    if (!eventListener.node.removeEventListener){
      eventListener.node.detachEvent('on' 
    + eventListener.event,
      eventListener.handler);
     }
    else{
      eventListener.node.removeEventListener(eventListener.event,
      eventListener.handler, 
    false);
     }

    }
    ,
    myRemoveEventListener 
    = function(node, event, handler){
     
    var index = findEventListener(node, event, handler);
     
    if (index == nullreturn;
     removeEventListenerIndex(index);
    }
    ,
    cleanupEventListeners 
    = function(){
     
    var i;
     
    for (i = eventListeners.length; i > 0; i--){
      
    if (eventListeners[i] != undefined){
       removeEventListenerIndex(i);
      }

     }

    }
    ;
    -->
    </script>
    <script language="javascript" type="text/javascript">
    <!--
    /*======================================================
     - statInput 輸入限制統(tǒng)計(jì)
     - By Mudoo 2008.5
     - 長度超出_max的話就截取貌似沒有更好的辦法了
    ======================================================
    */

    function statInput(e, _max, _exp) {
     e   
    = $(e);
     _max  
    = parseInt(_max);
     _max  
    = isNaN(_max) ? 0 : _max;
     _exp  
    = _exp==undefined ? {} : _exp;
     
     
    if(e==null || _max==0{
      alert('statInput初始化失敗!');
      
    return;
     }

     
     
    var
     
    // 瀏覽器
     _brower  = brower();
     
    // 輸出對象
     _objMax  = _exp._max==undefined ? null : $(_exp._max),
     _objTotal 
    = _exp._total==undefined ? null : $(_exp._total),
     _objLeft 
    = _exp._left==undefined ? null : $(_exp._left),
     
    // 彈出提示
     _hint  = _exp._hint==undefined ? null : _exp._hint;
     
     
    // 初始統(tǒng)計(jì)
     if(_objMax!=null) _objMax.innerHTML = _max;
     
    if(_objTotal!=null) _objTotal.innerHTML = 0;
     
    if(_objLeft!=null) _objLeft.innerHTML = 0;
     
     
    // 設(shè)置監(jiān)聽事件
     // 輸入這個(gè)方法比較好.
     // 但是Opera下中文輸入跟粘貼不能正確統(tǒng)計(jì)相當(dāng)BT的東西
     // 如果不考慮Opera的話就用這個(gè)吧.否則就老老實(shí)實(shí)用計(jì)時(shí)器.
     if(_brower.isIE) {
      myAddEventListener(e, 
    "propertychange", stat);
     }
    else{
      myAddEventListener(e, 
    "input", stat);
     }

     
    /*
     // 用計(jì)時(shí)器的話就什么瀏覽器都支持了.
     var _intDo = null;
     myAddEventListener(e, "focus", setListen);
     myAddEventListener(e, "blur", remListen);
     function setListen() {
      _intDo = setInterval(stat, 10);
     }
     function remListen() {
      clearInterval(_intDo);
     }
     
    */

     
     
    // 統(tǒng)計(jì)函數(shù)
     var _len, _olen, _lastRN, _sTop;
     _olen 
    = _len = 0;
     
    function stat() {
      _len 
    = e.value.length;
      
    if(_len==_olen) return;  // 防止用計(jì)時(shí)器監(jiān)聽時(shí)做無謂的犧牲
      if(_len>_max) {
       _sTop 
    = e.scrollTop;
       
    // 避免IE最后倆字符為'\r\n'.導(dǎo)致崩潰
       _lastRN = (e.value.substr(_max-12== "\r\n");
       e.value 
    = e.value.substr(0, (_lastRN ? _max-1 : _max));
       
    if(_hint==true) alert("悟空你也太調(diào)皮了,為師跟你說過,叫你不要輸那么多字~~.");
       
    // 解決FF老是跑回頂部
       if(_brower.isFirefox) e.scrollTop = e.scrollHeight;
      }

      _olen 
    = _len = e.value.length;
      
      
    // 顯示已輸入字?jǐn)?shù)
      if(_objTotal!=null) _objTotal.innerHTML = _len;
      
    // 顯示剩余可輸入字?jǐn)?shù)
      if(_objLeft!=null) _objLeft.innerHTML = (_max-_len)<0 ? 0 : (_max-_len);
     }

     
     stat();
    }

    -->
    </script>
    <script language="javascript" type="text/javascript">
    <!--
    /*********************************************
      - statInput 演示函數(shù)
    ********************************************
    */

    myAddEventListener(window, 
    "load", testStatInput);
    function testStatInput(){
     statInput('Test_1', 
    100{_max : 'stat_max', _total : 'stat_total', _left : 'stat_left', _hint : true});
    }

    -->
    </script>
    </head>
    <body>
    <div class="case">
     
    <div class="title"><href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" class="r">Top</a>statInput 調(diào)用方法</div>
     
    <div class="b">statInput(Element, MaxLen, {objMax, objTotal, objLeft, Hint});</div>
     
    <ul class="info gray">
      
    <li><span class="key">Element:</span><span class="type">Object</span>限制統(tǒng)計(jì)對象 (*必須)</li>
      
    <li><span class="key">MaxLen:</span><span class="type">Number</span>最大可輸入長度 (*必須)</li>
      
    <li><span class="key">objMax:</span><span class="type">Object</span>顯示最大輸入長度對象 (*可選)</li>
      
    <li><span class="key">objTotal:</span><span class="type">Object</span>顯示輸入統(tǒng)計(jì)對象 (*可選)</li>
      
    <li><span class="key">objLeft:</span><span class="type">Object</span>顯示可輸入長度對象 (*可選)</li>
      
    <li><span class="key">Hint:</span><span class="type">Boolean</span>當(dāng)長度超出上限時(shí),是否提示 (*可選)</li>
     
    </ul>
    </div>
    <div class="case">
     
    <div class="title"><href="#" class="r">Top</a>statInput 演示</div>
     
    <textarea name="Test_1" id="Test_1" rows="10" style="width: 99%" >悟空你也太調(diào)皮了,我跟你說過,叫你不要亂扔?xùn)|西, 亂扔?xùn)|西這么做…… (咣當(dāng),悟空棍子掉在地上) 你看我還沒有說完呢你把棍子又給扔掉了!月光寶盒是寶物,你把他扔掉會(huì)污染環(huán)境,唉,要是砸到小朋友那怎么辦?就算沒有砸到小朋友砸到那些花花草草也是不對的呀!</textarea>
     
    <div class="gray">最多可輸入<span id="stat_max" class="b light"></span>,當(dāng)前共<span id="stat_total" class="b light"></span>,還可輸入<span id="stat_left" class="b light"></span></div>
    </div>
    </body>
    </html>

    posted on 2008-09-24 11:03 都市淘沙者 閱讀(4093) 評論(0)  編輯  收藏 所屬分類: JSP/PHP

    主站蜘蛛池模板: 毛片免费在线观看网站| 美女视频黄的全免费视频| 亚洲区小说区图片区| 日韩在线观看视频免费| 亚洲国产精品自在拍在线播放| 久青草国产免费观看| 无码欧精品亚洲日韩一区夜夜嗨| 国产免费AV片无码永久免费| 亚洲AV无码一区二区三区电影| 美女羞羞视频免费网站| 国产一区二区三区在线免费| 污视频网站免费在线观看| 亚洲日韩在线中文字幕第一页| 亚洲国产天堂久久综合网站 | 中文字幕久无码免费久久| 亚洲日韩在线中文字幕第一页| 亚洲欧洲日产国产综合网| 99久久免费中文字幕精品| 亚洲中文字幕无码一去台湾| 永久免费AV无码国产网站| 亚洲精品无码专区久久| 亚洲日韩国产一区二区三区| 不卡视频免费在线观看| 亚洲最大黄色网站| 国产精品成人四虎免费视频| 久久久受www免费人成| 亚洲视频欧洲视频| 免费久久精品国产片香蕉| 国产一级在线免费观看| 亚洲男女一区二区三区| 国产一级特黄高清免费大片| 丁香花在线观看免费观看图片 | 毛片大全免费观看| 无人视频免费观看免费视频| 亚洲成A人片在线观看无码不卡| 国产精品亚洲综合网站| 亚洲爆乳精品无码一区二区三区| 亚洲精品无码少妇30P| 久久久久国产亚洲AV麻豆| 免费观看无遮挡www的视频| 欧洲美女大片免费播放器视频|