Wie kann ich verhindern, weiteren input in textarea mit maxlength

Ich habe eine textarea, die ich will, um Eingaben zu sperren, wenn die eingegebenen Zeichen erreicht eine max-Länge.

Momentan habe ich ein Jquery-Skript für das Textfeld, berechnet die eingegebenen Zeichen und etwas hinzufügen möchten, blockiert die Eingabe in die textarea einmal 150 Zeichen eingegeben werden.

Ich habe versucht mit max-Länge-plugins in Verbindung mit meinem Skript, aber Sie scheinen nicht zu funktionieren. Hilfe ist willkommen.

AKTUELLEN CODE

(function($) {
    $.fn.charCount = function(options){
        //default configuration properties
        var defaults = {    
            allowed: 150,       
            warning: 25,
            css: 'counter',
            counterElement: 'span',
            cssWarning: 'warning',
            cssExceeded: 'exceeded',
            counterText: '',
            container: undefined //New option, accepts a selector string
        }; 

        var options = $.extend(defaults, options); 

        function calculate(obj,$cont) {
              //$cont is the container, now passed in instead.
            var count = $(obj).val().length;
            var available = options.allowed - count;
            if(available <= options.warning && available >= 0){
                $cont.addClass(options.cssWarning);
            } else {
                $cont.removeClass(options.cssWarning);
            }
            if(available < 0){
                $cont.addClass(options.cssExceeded);
            } else {
                $cont.removeClass(options.cssExceeded);
            }
            $cont.html(options.counterText + available);
        };

        this.each(function() {
         //$container is the passed selector, or create the default container
            var $container = (options.container)
                    ? $(options.container)
                        .text(options.counterText)
                        .addClass(options.css)
                    : $('<'+ options.counterElement +' class="' + options.css + '">'+ options.counterText +'</'+ options.counterElement +'>').insertAfter(this);
            calculate(this,$container);
            $(this).keyup(function(){calculate(this,$container)});
            $(this).change(function(){calculate(this,$container)});
        });

    };
})(jQuery);

InformationsquelleAutor user342391 | 2010-08-26

Schreibe einen Kommentar