2016-05-19 9 views
0

私はjspにテキストボックスを持っています。 1.テキストボックスに無効な値が2回入力されると、3回目の試行でテキストボックスに静的テキストを作成し、編集不可能にする必要があります。JQueryが毎回カウンタを増やすonChange

私は以下のコードを持っていますが、条件が満たされていない:

jQuery("#rfcDetail").change(function() { 
        var string, text; 
        var counter=0;        
        var regex = new RegExp("[A-Za-zÑ&]{4}[0-9]{2}[0|1]{1}[0-9]{1}[0|3]{1}[0-9]{1}[a-zA-Z0-9]{3}$"); 
        var regexTenCharacter = new RegExp("[A-Za-zÑ&]{4}[0-9]{2}[0|1]{1}[0-9]{1}[0|3]{1}[0-9]{1}$"); 
        string = jQuery(this).val(); 
        if((regex.test(string)) || (regexTenCharacter.test(string))){ 
         text = ""; 
         document.getElementById("errorMsg").style.display = "none"; 
         jQuery('input#btnNext').attr("disabled", false); 
         validrfc = true; 
        }else if(counter > 2){ 
         jQuery(this).val('XAXX010101000'); 
         jQuery(this).attr("disabled", true); 
         text = ""; 
         validrfc = true; 
        }else{ 
         counter++; 
         text="Enter valid value"; 
         document.getElementById("errorText").innerHTML = text; 
         document.getElementById("errorMsg").style.display = "inline-block"; 
         jQuery('input#btnNext').attr("disabled", true); 
         validrfc = false; 
        } 
        alert('Counter::'+counter); 
       }); 

私はそれが毎回のonchangeやっているので、私はテキストボックスに無効な値を入力するときにここでカウンタ変数は常に1です。

これに代わる方法はありますか?あなたの関数の2行目で

答えて

0

、あなたはそのvar counter=0;たびに述べます。 何かを変更すると、カウンタはゼロで開始されます。それを削除する必要がある場合、カウンターを増分数を保持するグローバル変数(関数外)にする必要があります。おかげでたくさん...よく働い

var counter = 0; 
jQuery("#rfcDetail").change(function() { ...}); 
+0

!! –

+0

あなたはそれを持っています! --- – ntgCleaner

関連する問題