Index: maxlength.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/maxlength/maxlength.js,v retrieving revision 1.1.6.6 diff -u -p -r1.1.6.6 maxlength.js --- maxlength.js 29 Sep 2008 00:14:48 -0000 1.1.6.6 +++ maxlength.js 9 Jul 2010 18:39:38 -0000 @@ -1,19 +1,23 @@ /* $Id: maxlength.js,v 1.1.6.6 2008/09/29 00:14:48 acm Exp $ */ + Drupal.maxLength_limit = function (field) { var limit = field.attr("limit"); // calculate the remaining count of chars var remainingCnt = limit - field.val().length; + var color = $(".maxlength-counter").css('color');//'#659801'; + var message = ''; // if there is not remaining char, we clear additional content if (remainingCnt < 0) { - field.val(field.val().substr(0, limit)); - remainingCnt = 0; + color = 'red'; + message = '
'; } + var text = remainingCnt.toString() + message; // update the remaing chars text - $('#maxlength-'+field.attr('id').substr(5) + ' span.maxlength-counter-remaining').html(remainingCnt.toString()); + $('#maxlength-'+field.attr('id').substr(5) + ' span.maxlength-counter-remaining').html(text).css('color', color);; } Drupal.maxLength_change = function () { @@ -21,19 +25,19 @@ Drupal.maxLength_change = function () { Drupal.maxLength_limit($(this), $(this).attr("limit")); } -if (Drupal.jsEnabled) { - $(document).ready(function(){ - // get all the settings, and save the limits in the fields - for (var id in Drupal.settings.maxlength) { - var limit = Drupal.settings.maxlength[id]; - var element = $("#"+ id); - element.attr("limit", limit); - // update the count at the page load - Drupal.maxLength_limit(element); - - element.load(Drupal.maxLength_change); - element.keyup(Drupal.maxLength_change); - element.change(Drupal.maxLength_change); - } - }); + +Drupal.behaviors.maxLength = function(context) { + // get all the settings, and save the limits in the fields + for (var id in Drupal.settings.maxlength) { + var limit = Drupal.settings.maxlength[id]; + var element = $("#"+ id); + element.attr("limit", limit); + // update the count at the page load + Drupal.maxLength_limit(element); + + element.load(Drupal.maxLength_change); + element.keyup(Drupal.maxLength_change); + element.change(Drupal.maxLength_change); + } } +