首页 > PHP资讯 > HTML5培训技术 > jquery-easyui必填项隐藏问题的处理方案

jquery-easyui必填项隐藏问题的处理方案

HTML5培训技术
使用jquery-easyui制作用户界面,必填项很简单,只需要一个简单的属性data-options="required:true" 就可以把一个输入变成必输项。
但实际问题却是,在某些情况下,即使隐藏了必输项,却依然没办法提交,提交时弹出有必输项没有输入!!
   使用jquery-easyui的方法就是如果隐藏了,就把必输项标志去掉。也就是使用类似如下的代码。  
[javascript]  
$('#DrpHA').combobox({ required: false });  
   可是一想,既然隐藏了必输项必然就不需要输入了。能不能修改jquery-easyui的源代码,把它的验证修改下。于是就研究起了源代码。
既然是提交时验证,自己猜测就应该在form提交时有相关代码。
  在jquery.form.js中知道了如下几行代码:
[javascript]  
function validate(target){  
        if ($.fn.validatebox){  
            var t = $(target);  
            t.find('.validatebox-text:not(:disabled)').validatebox('validate');  
            var invalidbox = t.find('.validatebox-invalid');  
            invalidbox.filter(':not(:disabled):first').focus();  
            return invalidbox.length == 0;  
        }  
        return true;  
    }  
 
经过测试,提交不成功,确实是这几行代码。
修改成如下就可以了。
[javascript]  
function validate(target) {  
       if ($.fn.validatebox) {  
           var t = $(target);  
           t.find('.validatebox-text:not(:disabled)').validatebox('validate');  
         //  var invalidbox = t.find('.validatebox-invalid');  
           var invalidbox2 = t.find('.validatebox-invalid').find(':visible');  
         //  alert(invalidbox2.length);  
           invalidbox2.filter(':not(:disabled):first').focus();  
           return invalidbox2.length == 0;  
       }  
       return true;  
   }  
 
最后在jquery.easyui.min.js中找到以上代码修改即可。
[javascript]  
function _3d6(_3dc){  
if($.fn.validatebox){  
var t=$(_3dc);  
t.find(".validatebox-text:not(:disabled)").validatebox("validate");  
//var _3dd=t.find(".validatebox-invalid");  
  var invalidbox2 = t.find('.validatebox-invalid').find(':visible');  
            alert(invalidbox2.length);  
  
//_3dd.filter(":not(:disabled):first").focus();  
invalidbox2.filter(":not(:disabled):first").focus();  
return invalidbox2.length==0;  
}  
 

HTML5培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持43不支持0