首页 > 代码库 > 【原创】和onblur有关的 check第十列输入值是否超过第二列
【原创】和onblur有关的 check第十列输入值是否超过第二列
问题背景:从数据库循环读取数据写在表格中,第十行填写金额,onblur时判断是否高出同行第二列,高出则报错,反之不报错。修改错误数据,信息会被擦除。
遇到的问题:第一行报错情况下,第二行填写正确信息也会擦除错误提示。
目的:只要存在错误就显示错误信息,修改错误(没有完全修改完)保留错误,完全修改完毕才能擦除错误
html代码
为了良好的抓取输入框值,使用动态添加id形式,在PHP中{$key}从0开始递增。this.id返回该输入框ID。
id="apply_{$key}" onblur="num_check(this.id)"
js代码
将错误ID存入数组,修改正确则删除数组对应元素。存在错误ID,则保留错误信息。错误数组没有信息时,才允许擦除信息。
1 var err_arr = new Array(); 2 function arr_check(id){ 3 for(var i=0;i<err_arr.length;i++){ 4 if(id==err_arr[i]){ 5 return true; 6 } 7 } 8 return false; 9 }10 11 var numFlag = true;12 function num_check(id) {13 14 var money = $(‘#‘+id).val();15 var numMsg = $("#numMsg");16 var publish_amount =$(‘#‘+id).parent().parent().children(‘td:nth-child(2)‘).find(‘span‘).text();17 publish_amount = commafyback(publish_amount); //去除千分位18 if (money == ‘‘) {19 $(id).val(‘0‘);20 } else if (money > publish_amount) {21 22 if(!arr_check(id)){23 err_arr[err_arr.length]=id;24 numMsg.text(‘数额不能超过发行金额‘);25 }26 numFlag = false;27 } else {28 29 if(arr_check(id)){30 err_arr.splice($.inArray(id,err_arr),1);31 if(err_arr.length<1){32 numMsg.text(‘‘);33 numFlag = true;34 }35 }36 37 }38 }
搞了半个小时,终于弄通了。jQuery不太会,一点一点查,惊喜还不少。
又一个原创文章,给自己赞一个~
这一定还不是最优方法,如果阅读这篇文章有兴趣的朋友可以和我讨论一下~还请赐教嘿嘿
(づ ̄3 ̄)づ╭?~
【原创】和onblur有关的 check第十列输入值是否超过第二列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。