formValidator3.3的ajaxValidator一些異常分析
更新時間:2011年07月12日 23:47:39 作者:
ajaxvalidator是大家問的最多的問題,修正一個bug(感謝網友“じ龍峸√”),并把大家最關心的問題,再做一次闡述。
ajaxvalidator是大家問的最多的問題,修正一個bug(感謝網友“じ龍峸√”),并把大家最關心的問題,再做一次闡述。
bug現(xiàn)象:無論校驗有沒有校驗通過,當控件再次得到焦點而再次失去焦點的時候tip里的提示就會停滯在得到焦點的提示
歷次升級的相關記錄:
a、為AjaxValidator添加一個addidvalue屬性(是否自動添加id和值到url參數(shù)后面)
為了修復AjaxValidator在配置信息的時候,取不到運行時候值的bug,插件將自動在url后面自動添加,形式為"id=value"的網頁參數(shù)。
在服務器端,你可以通過Request.querystring["id"]來取值。 具體演示請看demo1里的用戶名輸入和Default.aspx
異常說明:
開發(fā)過程中仍會出現(xiàn)亂碼問題
例如:
$("#thename").formValidator({onfocus:"用戶名至少6個字符,最多40個字符",oncorrect:"輸入格式正確"}).inputValidator({min:6,max:40,onerror:"你輸入的用戶名非法,請確認"})//.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("服務器沒有返回數(shù)據(jù),可能服務器忙,請重試");},
onerror : "該用戶名不可用,請更換用戶名",
onwait : "正在對用戶名進行合法性校驗,請稍候..."http://function(){alert($("#pcode").val());}
});
說明:
data:"action=isExist&thename="+$('#thename').val(),這種方式是失效的,因為$('#thename').val()是固定不變的,而且是初始值,通常為空.
修改源碼:
formValidator.js
//ajax校驗
ajaxValid : function(returnObj)的方法中
將
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(srcjo.val());
改為:
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(encodeURIComponent(srcjo.val()));
因為只有通過前臺兩次編碼,后臺一次解碼就可以解決亂碼問題
thename=java.net.URLDecoder.decode(thename,"UTF-8");
注意前臺必須編碼兩次,否則會仍是亂碼.
bug現(xiàn)象:無論校驗有沒有校驗通過,當控件再次得到焦點而再次失去焦點的時候tip里的提示就會停滯在得到焦點的提示
歷次升級的相關記錄:
a、為AjaxValidator添加一個addidvalue屬性(是否自動添加id和值到url參數(shù)后面)
為了修復AjaxValidator在配置信息的時候,取不到運行時候值的bug,插件將自動在url后面自動添加,形式為"id=value"的網頁參數(shù)。
在服務器端,你可以通過Request.querystring["id"]來取值。 具體演示請看demo1里的用戶名輸入和Default.aspx
異常說明:
開發(fā)過程中仍會出現(xiàn)亂碼問題
例如:
復制代碼 代碼如下:
$("#thename").formValidator({onfocus:"用戶名至少6個字符,最多40個字符",oncorrect:"輸入格式正確"}).inputValidator({min:6,max:40,onerror:"你輸入的用戶名非法,請確認"})//.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("服務器沒有返回數(shù)據(jù),可能服務器忙,請重試");},
onerror : "該用戶名不可用,請更換用戶名",
onwait : "正在對用戶名進行合法性校驗,請稍候..."http://function(){alert($("#pcode").val());}
});
說明:
data:"action=isExist&thename="+$('#thename').val(),這種方式是失效的,因為$('#thename').val()是固定不變的,而且是初始值,通常為空.
修改源碼:
formValidator.js
//ajax校驗
ajaxValid : function(returnObj)的方法中
將
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(srcjo.val());
改為:
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(encodeURIComponent(srcjo.val()));
因為只有通過前臺兩次編碼,后臺一次解碼就可以解決亂碼問題
thename=java.net.URLDecoder.decode(thename,"UTF-8");
注意前臺必須編碼兩次,否則會仍是亂碼.
相關文章
jQuery pager.js 插件動態(tài)分頁功能實例分析
這篇文章主要介紹了jQuery pager.js 插件動態(tài)分頁功能,結合具體實例形式分析了pager.js 插件的定義及使用插件進行分頁操作相關實現(xiàn)技巧,需要的朋友可以參考下2019-08-08jQuery插件echarts實現(xiàn)的單折線圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件echarts實現(xiàn)的單折線圖效果,結合完整實例形式分析了echarts插件繪制簡單折線圖的操作步驟與相關實現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jquery的ajax異步請求接收返回json數(shù)據(jù)實例
jquery的ajax異步請求接收返回json數(shù)據(jù)方法設置簡單,一個是服務器處理程序是返回json數(shù)據(jù),另一種就是ajax發(fā)送設置的datatype設置為jsonp格式數(shù)據(jù)或json格式都可以。這篇文章對此進行了實例介紹,需要的朋友可以參考下2014-06-06