【www.gdgbn.com--jquery】

jquery 计算文本框输入字符数代码
asp教程x文件:

引入js

<script type="text/网页特效" src="../script/maxlength.js"></script>

因为是限制textarea控件,所以必须使用一个hidden input来控制长度,原因是textarea的maxlength属性取值为用户实际输入的字符长度。如果是限制input的输入长度,就不需要了。

                                           
                   
最多3000字,还可输入3000字
                   
 

jquery引用:

        <script type="text/javascript">
            $(document).ready(function() {

                $("#<%=positioninfo.clientid%>").bind("propertychange", function() {
                $(this).maxlength({
                        "feedback": "descsize","useinput": true
                    });
                });

});                          
    </script> 

jquery代码

(function ($) {

$.fn.maxlength = function (settings) {
    if (typeof settings == "string") {
        settings = { feedback : settings };
    }

    settings = $.extend({}, $.fn.maxlength.defaults, settings);

    function length(el) {
     var parts = el.value;
     if ( settings.words )
      parts = el.value.length ? parts.split(/s+/) : { length : 0 };
     return parts.length;
    }
   
    return this.each(function () {
        var field = this,
         $field = $(field),
         $form = $(field.form),
         limit = settings.useinput ? $form.find("#"+settings.maxlength).val() : $field.attr("maxlength"),
         $charsleft = $form.find("#"+settings.feedback);
 
     function limitcheck(event) {
         var len = length(this),
             exceeded = len >= limit,
          code = event.keycode;

         if ( !exceeded )
          return;

            switch (code) {
                case 8:  // allow delete
                case 9:
                case 17:
                case 36: // and cursor keys
                case 35:
                case 37:
                case 38:
                case 39:
                case 40:
                case 46:
                case 65:
                    return;

                default:
                    return settings.words && code != 32 && code != 13 && len == limit;
            }
        }


        var updatecount = function () {
            var len = length(field),
             diff = limit - len;        
            $charsleft.html( diff || "0" );

            // truncation code
            if (settings.hardlimit && diff < 0) {
             field.value = settings.words ?
                 // split by white space, capturing it in the result, then glue them back
              field.value.split(/(s+)/, (limit*2)-1).join("") :
              field.value.substr(0, limit);

                updatecount();
            }
        };

        $field.keyup(updatecount).change(updatecount);
        if (settings.hardlimit) {
            $field.keydown(limitcheck);
        }

        updatecount();
    });
};

$.fn.maxlength.defaults = {
    useinput : false,
    hardlimit : true,
    feedback : "charsleft",
    words : false,
    maxlength: "maxlength"
};

})(jquery);

 

本文来源:http://www.gdgbn.com/wangyezhizuo/29149/