У меня около 8 текстовых вводов. Все они в конце концов объединяются с PHP, но для простоты использования я разбил его на несколько «вопросов».
Все поля в конечном итоге объединяются и используются в среде SMS, где отсекается 160 символов. Мне нужно сосчитать все 8 входных данных с помощью jQuery, чтобы показать пользователям, если они превышают отметку в 160 символов.
Очевидно, что я могу очень легко сделать это с любым количеством плагинов для подсчета символов, но все они сделаны с единственной целью textarea, а не разбиты на несколько входов.
Я начал строить это, используя
var current_count = parseInt($('#chars-remain span').text());
var regex=/^[a-zA-Z0-9\s]+$/;
if(regex.test($(this).val())){
var current_left = current_count - 1;
}
if (current_left <= 0) {
$('#chars-remain span').addClass('outOfChars');
} else {
$('#chars-remain span').removeClass('outOfChars');
}
$('#chars-remain span').text(current_left);
и HTML что-то вроде
<p id="chars-remain"><span>160</span> Characters Remain</p>
Но на самом деле это не работает. Если вы используете клавишу Delete, она все равно считается как -1 от общей суммы, и есть несколько других ошибок.
Есть ли способ использовать приведенный выше код и заставить его работать, или есть плагин, который делает это, что я не могу найти, или, может быть, у кого-то есть лучшее представление о том, что попробовать?
Спасибо !!
/// * РЕДАКТИРОВАТЬ ** \ *
Мой текущий jQuery настроен так:
$('#form-edit-card input').live('blur keyup',function(e) {
$('#howto').hide();
$('#in-firstName').text($('#first_name').val()).show();
$('#in-lastName').text($('#last_name').val()).show();
$('#in-titlePosition').text($('#job_title').val()).show();
$('#in-company').text($('#company_name').val()).show();
if($('#phone_number').val() != "") { $('#in-officePhone').text("o: "+$('#phone_number').val()).show(); }
if($('#mobile_number').val() != "") { $('#in-mobilePhone').text("m: "+$('#mobile_number').val()).show(); }
$('#in-emailAddress').text($('#email').val()).show();
$('#in-website').text($('#website').val()).show();
});
Это позволяет мне, так как пользователь печатает в полях, он показывает пример того, как SMS будет выглядеть в поле рядом с полем. Поэтому, если я попытаюсь использовать ответ K4emic, то в большинстве случаев он работает, но на Office Phone и Mobile Phone он автоматически добавляет «o:» и «m:», поэтому мне нужен какой-то способ собрать эти три дополнительных символа. также.
Может быть, было бы более целесообразно подсчитывать символы абзацев после того, как входные данные записывают в них, чтобы автоматически подсчитывать добавленные символы?