我们有一个非常简单的单词计数器,可以很好地满足我们的需要。不过,我们现在需要对其进行修改。请在http://jsfiddle.net/MUSXU/1上查看我们的 JSfiddle
(function($){
$.fn.textareaCounter = function(options) {
// setting the defaults
// $("textarea").textareaCounter({ limit: 100 });
var defaults = {
limit: 100
};
var options = $.extend(defaults, options);
// and the plugin begins
return this.each(function() {
var obj, text, wordcount, limited;
obj = $(this);
obj.after('<span style="font-size: 11px; clear: both; margin-top: 3px; display: block;" id="counter-text">Max. '+options.limit+' words</span>');
obj.keyup(function() {
text = obj.val().replace(/\s+/g, " ");;
if(text === "") {
wordcount = 0;
} else {
wordcount = $.trim(text).split(" ").length;
var URLs = text.match(/([^\s])+\.(com|net|org|biz|gov|edu|mobi|info|ca|us|mil)/g);
if(URLs != null && URLs.length > 0){
wordcount += (URLs.length*2);
}
}
if(wordcount > options.limit) {
obj.next().html('<span style="color: #DD0000;">-' + parseInt(wordcount - options.limit, 10) + ' words left</span>');
$("#submit").prop('disabled', true);
} else {
obj.next().html((options.limit - wordcount)+' words left');
$("#submit").prop('disabled', false);
}
});
});
};
})(jQuery);
$('textarea').textareaCounter({limit:15});
我们有一个问题:
- 如果页面上的任何字符计数器超出其限制,我们需要保持禁用提交按钮。现在,按照我们的编码方式,当字数超过时,提交按钮被成功禁用,但一旦你输入下一个文本区域,它就会立即重新启用。
我不太擅长 javascript,只是为了满足我们的需要而将其组合在一起,这是我在部署它之前需要做的最后一件事。
我将不胜感激您可以提供的任何帮助。