js如何实现状态监听?

图片描述
我想实现:等到所有信息都验证通过,右上角的勾才可点击。

阅读 6.5k
3 个回答

你可以设置一个变量默认值是要验证的信息数量值,验证通过一个这个变量的值就减一,同时监听这几个输入框的keyup事件,在事件处理函数内判断这个值是否为0.如果是就设置勾可以点击。

方案一: 按钮默认灰,每个input blur或change 时 去判断 按钮能不能点;
方案二:setInterval 定时执行 判断的函数

首先这个是触屏版的,用change应该是比较好的;
$(function(){
$("input:text").attr("data-err",true); //先在input中弄个属性,做是否通过验证之用
var regPhone = /\d{11}/, //正则自己写吧
reg = {};
$("input:text").change(function(){
if($(this).attr("name") == "phone"){
reg = regPhone;
}
if(reg.test($(this).val()){
$(this).removeAttr("data-err");
if($("input[data-err=true]").length >0 ){ //
//全部验证通过,打钩
}
}
});
});

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题