2012-03-02 9 views
0

My機能は、その新しい行を待ってカウント

function count() { 
    var value = ids.val(); 
    return (value == '') ? 0 : value.split(/\r\n|\r|\n/).filter($.trim).map($.trim).length; 
} 

のように見える一つの問題があります。私はcount()を1秒ごとにチェックする自動ポスト機能を持っています。

if(count() === 10){ ajaxpost! } 

バーコードリーダは、1桁ずつ数字を入力します。スキャンするたびに改行が追加されます。

この関数を変更して改行とカウントを待つ方法はありますか? 0を返す必要があります元

8 

関数の

は、あなたが実際に変更することができる機能が1

答えて

0
function count() { 
    var value = ids.val(); 
    if(!value) 
     return 0; 
    var len = value.split(/\r\n|\r|\n/).filter($.trim).map($.trim).length; 
    return len < 10 ? 0 : len; 
} 
+0

なしを持っている...それはすべての時間を返さなければなりません空の新しい行がある場合 – heron

+0

あなたはそこにいる人ですか? – heron

+0

それは、何が間違っていますか? – ShankarSangoli

0

を返さなければなりません

8 
<newline> 

(現在はそれが直接、任意の値を入力した後、1を返します)バーコードスキャナは新しい行を与えませんが、そうでなければ置換を使用して新しい行を削除することができます。

myStr.replace(/[\r\n]/,'') 

EDIT のようなもの、私はより良い説明しましょう:

return (value == '') ? 0 : value.split(/\r\n|\r|\n/).filter($.trim).map($.trim).replace(/[\r\n]/,'').length; 

これは、新しい行のを削除します、あなたが文句を言わない

8 
<newline> 
+0

omg ...あなたは私の質問を全く理解していません。新しい行が空であれば値を返す必要があります。 – heron

+0

ooohh ..行数が必要なので '8'はは1を返しますが、' 8'は0を返し、 '8'' 9''を返します。 'は2を返します..正しい? – Fabrizio

+0

それはまったく動作しません...もう一度:空の新しい行がある場合は毎回戻ってくる必要があります。 – heron

関連する問題