Проблема счетчика слов в Javascript - PullRequest
0 голосов
/ 02 февраля 2012

Я хочу сделать так, чтобы счетчик общего количества введенных слов сохранял результаты даже после очистки текстовой области.

Пожалуйста, посмотрите на результат кода ниже: http://jsfiddle.net/mnvMn/5/

ПРИМЕЧАНИЕ. Если вы хотите решить эту проблему, изменив setInterval (autoPost, 100); DO NOT! Потому что я протестировал все доступные функции change (), paste (), keyUp () .... Никто из них не работал с мобильным сканером штрих-кода. Работает только интервал установки.

var form=$("#bcscanner"), ids=$('#itemids'), counter=0;
function count() {

    var value =$(ids).val().replace(" ", "").replace(/[\s,]+$/, '');
    var words = value.split(",");
    var numWords =words.length;
    if($(ids).val() === '') {
        numWords = 0;
    }
    return numWords;
}

function autoPost(){
    counter=count()+counter;
    $("#counter").html(count()+'/'+counter);
    if(count()==="10"){   
       ajaxpost();     
       $(ids).val('');
    }
}

$(document).ready(function () {   
    $( "input:submit, input:reset").button();

    setInterval(autoPost, 100);

}); 

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Вот модифицированная версия вашей скрипки, которая правильно подсчитывает общее количество слов: http://jsfiddle.net/MuyaK/5/

Вы обновляли глобальный счетчик при каждом обновлении вместо того, чтобы отслеживать общее количество из десяти слов.

0 голосов
/ 02 февраля 2012

Вы можете использовать плагин jQuery для подсчета слов, вы можете ограничить набор символов или символов http://qwertypants.me/counter/

...