formValidator3.3的ajaxValidator一些異常分析
bug現(xiàn)象:無(wú)論校驗(yàn)有沒有校驗(yàn)通過,當(dāng)控件再次得到焦點(diǎn)而再次失去焦點(diǎn)的時(shí)候tip里的提示就會(huì)停滯在得到焦點(diǎn)的提示
歷次升級(jí)的相關(guān)記錄:
a、為AjaxValidator添加一個(gè)addidvalue屬性(是否自動(dòng)添加id和值到url參數(shù)后面)
為了修復(fù)AjaxValidator在配置信息的時(shí)候,取不到運(yùn)行時(shí)候值的bug,插件將自動(dòng)在url后面自動(dòng)添加,形式為"id=value"的網(wǎng)頁(yè)參數(shù)。
在服務(wù)器端,你可以通過Request.querystring["id"]來取值。 具體演示請(qǐng)看demo1里的用戶名輸入和Default.aspx
異常說明:
開發(fā)過程中仍會(huì)出現(xiàn)亂碼問題
例如:
$("#thename").formValidator({onfocus:"用戶名至少6個(gè)字符,最多40個(gè)字符",oncorrect:"輸入格式正確"}).inputValidator({min:6,max:40,onerror:"你輸入的用戶名非法,請(qǐng)確認(rèn)"})//.regexValidator({regexp:"username",datatype:"enum",onerror:"用戶名格式不正確"})
.ajaxValidator({
type : "get",
url : "login.do",
data:"action=isExist",
datatype : "xml",
success : function(data){
root = data.documentElement;
var rowSet = root.selectNodes("http://delete");
if( rowSet.item(0).selectSingleNode("value").text == "0" )
{
return true;
}
else
{
return false;
}
},
buttons: $("#saveId"),
error: function(){alert("服務(wù)器沒有返回?cái)?shù)據(jù),可能服務(wù)器忙,請(qǐng)重試");},
onerror : "該用戶名不可用,請(qǐng)更換用戶名",
onwait : "正在對(duì)用戶名進(jìn)行合法性校驗(yàn),請(qǐng)稍候..."http://function(){alert($("#pcode").val());}
});
說明:
data:"action=isExist&thename="+$('#thename').val(),這種方式是失效的,因?yàn)?('#thename').val()是固定不變的,而且是初始值,通常為空.
修改源碼:
formValidator.js
//ajax校驗(yàn)
ajaxValid : function(returnObj)的方法中
將
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(srcjo.val());
改為:
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(encodeURIComponent(srcjo.val()));
因?yàn)橹挥型ㄟ^前臺(tái)兩次編碼,后臺(tái)一次解碼就可以解決亂碼問題
thename=java.net.URLDecoder.decode(thename,"UTF-8");
注意前臺(tái)必須編碼兩次,否則會(huì)仍是亂碼.
相關(guān)文章
jQuery pager.js 插件動(dòng)態(tài)分頁(yè)功能實(shí)例分析
這篇文章主要介紹了jQuery pager.js 插件動(dòng)態(tài)分頁(yè)功能,結(jié)合具體實(shí)例形式分析了pager.js 插件的定義及使用插件進(jìn)行分頁(yè)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-08-08使用jQuery validate 驗(yàn)證注冊(cè)表單實(shí)例演示
Validation是jQuery的插件,提供的方法可以大大簡(jiǎn)化驗(yàn)證表單的工作,接下來為大家詳細(xì)介紹下使用方法,感興趣的各位可以參考下哈2013-03-03jQuery插件echarts實(shí)現(xiàn)的單折線圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件echarts實(shí)現(xiàn)的單折線圖效果,結(jié)合完整實(shí)例形式分析了echarts插件繪制簡(jiǎn)單折線圖的操作步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jquery模擬實(shí)現(xiàn)鼠標(biāo)指針停止運(yùn)動(dòng)事件
這篇文章主要介紹了jquery模擬實(shí)現(xiàn)鼠標(biāo)指針停止運(yùn)動(dòng)事件示例代碼,感興趣的小伙伴們可以參考一下2016-01-01jQuery中add實(shí)現(xiàn)同時(shí)選擇兩個(gè)id對(duì)象
jquery同時(shí)選擇兩個(gè)id對(duì)象的時(shí)候,可以用add來實(shí)現(xiàn)。2010-10-10jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)實(shí)例
jquery的ajax異步請(qǐng)求接收返回json數(shù)據(jù)方法設(shè)置簡(jiǎn)單,一個(gè)是服務(wù)器處理程序是返回json數(shù)據(jù),另一種就是ajax發(fā)送設(shè)置的datatype設(shè)置為jsonp格式數(shù)據(jù)或json格式都可以。這篇文章對(duì)此進(jìn)行了實(shí)例介紹,需要的朋友可以參考下2014-06-06jquery zTree異步加載簡(jiǎn)單實(shí)例講解
這篇文章主要為大家詳細(xì)介紹了jquery zTree異步加載簡(jiǎn)單實(shí)例,ztree采用了延遲加載技術(shù),上萬(wàn)節(jié)點(diǎn)輕松加載,即使在 IE6 下也能基本做到秒殺,感興趣的小伙伴們可以參考一下2016-02-02jQuery實(shí)現(xiàn)網(wǎng)頁(yè)頂部固定導(dǎo)航效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)網(wǎng)頁(yè)頂部固定導(dǎo)航效果代碼,涉及jQuery響應(yīng)scroll事件動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,需要的朋友可以參考下2015-12-12