JQuery使计数器每次更改时都会增加
JQuery making the counter increase everytime onChange
我在jsp中有一个文本框。我必须为文本框指定以下规则:1.当文本框被输入两次无效值时,在第三次尝试时,我将不得不在文本框中创建一个静态文本并使其不可编辑。
我有以下代码,但条件不满足:
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);
});
这里,当我在文本框中输入无效值时,计数器变量总是1,因为我每次都是在Change上输入。
有其他方法吗?
在函数的第二行中,每次都声明var counter=0;
。所以,任何时候你改变某个东西,它都会在零开始计数器。您需要删除它,然后您需要使计数器成为一个全局变量(在您的函数之外),用于保存增量。
var counter = 0;
jQuery("#rfcDetail").change(function () { ...});
相关文章:
- JQuery使计数器每次更改时都会增加
- 增加jQuery中的计数器
- 创建新数组或增加计数器
- 在流星应用程序中不增加 int 的计数器
- 增加营业时间到coutdown计数器
- 单击按钮时增加计数器值
- ReactJS中计数器增加的显示元素
- 如何在点击时增加计数器
- 单击按钮时增加计数器值,然后重复使用该值
- 单击按钮时增加计数器值
- 如何在javascript中增加类内的计数器值
- 在类创建/追加时增加计数器的值1
- 如何制作一个连续的Jquery计数器,每24小时增加一个数字
- 增加时钟计数器
- 如何在回调setTimeout函数后增加计数器变量
- 如何在单击ng-repeat中的项时增加计数器
- 如何在一个新的窗口中打开一个链接在javascript和增加计数器只对按钮点击
- 如何在单击时增加计数器
- 在JavaScript中自动增加计数器
- 在特定条件下增加计数器(例如:仅当用户没有输入错误答案时)