**使用jquery-easyui制作用戶界面,必填項很簡單,只需要一個簡單的屬性data-options="required:true"?就可以把一個輸入變成必輸項。**
**但實際問題卻是,在某些情況下,即使隱藏了必輸項,卻依然沒辦法提交,提交時彈出有必輸項沒有輸入!!**
使用jquery-easyui的方法就是如果隱藏了,就把必輸項標志去掉。也就是使用類似如下的代碼。??
~~~
$('#DrpHA').combobox({ required: false });
~~~
可是一想,既然隱藏了必輸項必然就不需要輸入了。能不能修改jquery-easyui的源代碼,把它的驗證修改下。于是就研究起了源代碼。
既然是提交時驗證,自己猜測就應該在form提交時有相關代碼。
在jquery.form.js中找到了如下幾行代碼:
~~~
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;
}
~~~
經過測試,提交不成功,確實是這幾行代碼。
修改成如下就可以了。
~~~
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:visible');
// alert(invalidbox2.length);
invalidbox2.filter(':not(:disabled):first').focus();
return invalidbox2.length == 0;
}
return true;
}
~~~
最后在jquery.easyui.min.js中找到以上代碼修改即可。
~~~
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:visible');
alert(invalidbox2.length);
//_3dd.filter(":not(:disabled):first").focus();
invalidbox2.filter(":not(:disabled):first").focus();
return invalidbox2.length==0;
}
~~~
- 前言
- js封裝和作用域
- 封裝html的select標簽的js操作
- js正則表達式的使用
- 使用閉包對setTimeout進行簡單封裝
- js中如何復制一個對象,如何獲取所有屬性和屬性對應的值
- js中如何把字符串轉化為對象
- js操作iframe兼容各種瀏覽器
- js模板方法的思路及實現
- 在js中如何實現方法重載?以及函數的參數問題
- 單純的html頁面如何提交,傳遞參數,以及對身份的驗證
- ajax如何調試
- js綜合應用簡單的表格統計
- js格式化貨幣數據
- js綜合應用:表格的四則運算
- 如何在瀏覽器中打開PDF文件并實現預覽的思路與代碼
- js實現幻燈片效果
- js實現幻燈片效果二
- jquery-easyui必填項隱藏問題的處理方案
- jquery-easyui隱藏可用不可用的問題的處理方案
- js變量作用域--變量提升