下面的代码大神们应该容易看清楚,我现在就是有一个冲突
下面的change输入如果小于6位数的时候我的生成按钮也会被隐藏
要是客户故意老是输入不超过6位数的话,我那个生成按钮就会老是被隐藏
那这样客户想点击生成按钮也点不了
有什么办法就是当点击生成按钮就把下面的change事件禁用掉
但当在change里输入值(不超过6位数)的时候在弹出提示
/**********js***********/
//生成按钮
$(".btnrom").click(function(){
//随机生成代码添加到输入框里
});
//输入框
$("input[name=password]").change(function(){
if($(this).val().length<6){//输入框值小于6位
$(".btnrom").hide();//隐藏生成按钮
$(".ptext2").show().html("密码不能小于6位数");
return flase;
}
});
/********html********/
<input type="text" name="password" placeholder="点击此处输入">
<input type="button" class="btnrom" name="button" value="随机生成">
<p style="display:none" class="ptext2">密码少于六个</p>
只用在if后面加个else就可以了吧
$(".btnrom").click(function(){
//随机生成代码添加到输入框里
});
//输入框
$("input[name=password]").change(function(){
if($(this).val().length<6){//输入框值小于6位
$(".btnrom").hide();//隐藏生成按钮
$(".ptext2").show().html("密码不能小于6位数");
return flase;
}
else{
$(".btnrom").show();//隐藏生成按钮
$(".ptext2").hide();
return true;
}
});
你可以监听 [密码输入框] 的 blur 也就是焦点离开事件,
当焦点离开是再去判断[密码输入框]输入文本的长度,如果长度小于6,[随机生成] 按钮 隐藏并提示系想你
当再次获取焦点时(focus事件),重新显示 [随机生成]
区别只在于是否点击过生成按钮么? 那加个变量来控制一下
/**********js***********/
//设置一个变量来检测是否点击过
var isClicked = false;
//生成按钮
$(".btnrom").click(function(){
//随机生成代码添加到输入框里
isClicked = true;
});
//输入框
$("input[name=password]").change(function(){
if($(this).val().length<6){//输入框值小于6位
if(!isClicked) {
$(".btnrom").hide();//隐藏生成按钮
}
$(".ptext2").show().html("密码不能小于6位数");
return flase;
}
});
/********html********/
<input type="text" name="password" placeholder="点击此处输入">
<input type="button" class="btnrom" name="button" value="随机生成">
<p style="display:none" class="ptext2">密码少于六个</p>
个人觉得可以用jQuery unbind... 搜搜吧