Char counter for inputs / text areas. Adds a
element under the given input that counts the chars left. Min length is a helper to help hide the form input validate fails. Maybe refactor to one function. Min Length requires input to have a minlength attr
var _checkMinLength = function (selector) {
if(jQuery(selector).val().length >= jQuery(selector).attr('minlength')) {
return true;
}
else {
return false;
}
}
var _validate = function (selectors , inputControl) {
jQuery(selectors).keyup(function(e) {
if(_checkMinLength(YOUR_SELECTOR) && _checkMinLength(YOUR_OTHER_SELECTOR)) {
jQuery(inputControl).removeClass('hidden');
}
else {
jQuery(inputControl).addClass('hidden');
}
});
}var charCounter = (whereToAttach, textFieldId, maxChar, minChar) => {
jQuery(textFieldId).attr('maxlength',maxChar).attr('minlength',minChar);
jQuery(whereToAttach).append('<p class="char-count"></p>');
var textHolder = whereToAttach+' .char-count'
jQuery(whereToAttach).keyup( () => {
var max = maxChar;
var min = minChar;
var len = jQuery(textFieldId).val().length;
var incompleteTxt = jQuery(textFieldId).val();
if( len < min) {
jQuery(textHolder).html('<p class="pink-text">Δεν έχετε συμπληρώσει το επιτρεπτό όριο χαρακτήρων. Παρακαλούμε συνεχίστε να γράφετε</p>');
}
else if (len >= max) {
jQuery(textHolder).html('<p class="pink-text">Έχετε ξεπεράσει το επιτρεπτό όριο χαρακτήρων</p>');
}
else {
var count = max-len;
jQuery(textHolder).html('Απομένουν <b>'+count+'</b> χαρακτήρες απο '+max);
}
});
}