您的位置:首页 > 其它

15.实时统计textarea输入字数并限制字数

2018-02-28 14:21 323 查看
             


              1)Dom结构:
                  <textarea  class="limit_100 advice" placeholder="请输入反馈内容"></textarea>
                  <span class="limit statistics">0/100</span>
             2)获取兼容输入事件
                //以下代码为了兼容iOS、Android
                var bind_name = 'input';
                      if (navigator.userAgent.indexOf("MSIE") != -1) {    //(此处是为了兼容IE)
                           bind_name = 'propertychange';
                      }
                      if(navigator.userAgent.match(/android/i) == "android")
                      {
                           bind_name = "keyup";
                       }
              3)截取限制字符长度                   $(".limit_100").bind(bind_name,function(){
                       var limitSub=$(this).val().substr(0,100);
                            $(this).val(limitSub);  //截取字符长度
                            $(this).next('.statistics').html(limitSub.length+'/100'); //获取实时输入字符长度并显示
                            if(limitSub.length==100){   
                                 $('.limit').css('color','red');  //超出指定字符长度标红提示
                            }else{
                                $('.limit').css('color','#333'); 
                            }

                   });
              4)提交输入内容给后台,弹窗提示提交成功,与移动端交互并在清空内容的同时让实时统计字数显示为0
                    function(data){
                         console.log(typeof(data));
                         var u = navigator.userAgent;
                         var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
                         var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
                         //console.log(typeof(isAndroid));   //boolean
                         if(data=="true"){
                              $(".information").val(""); //提交给后台的信息
                                  var message="提交成功";
                                        if (isAndroid==true) {
                                            alert(message);
                                            $('.statistics').html('0/100');  //提交信息成功实时统计数为0
                                            $('.li
8b6d
mit').css('color','#333'); //提交成功字体颜色还原
                                             window.AndroidWebView.showInfoFromJs(message); //Android
                                        }
                                        if(isiOS==true){
                                             alert(message);
                                             $('.statistics').html('0/100');
                                             $('.limit').css('color','#333');
                                            window.webkit.messageHandlers.AppModel.postMessage(message);//iOS
                                       }
                                  }else{
                                       alert(false);
                                  }               });
     注意:此处是获取字符长度,若获取输入字节数需考虑输入汉字、英文状态下统计的字符数是否一致
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: