我試圖使用jquery validation插件,但我的表單是在更新面板。因此,即使在提交表單驗證之後,它也會驗證並顯示所需的信息幾乎2秒鐘,然後提交表單。
這是什麼解決方法?jquery驗證和更新面板在一起
我也試過這個。
<asp:UpdatePanel ID="AddUserPanel" runat="server"
ChildrenAsTriggers="false"
UpdateMode="Conditional">
但這也似乎沒有幫助。
我試圖使用jquery validation插件,但我的表單是在更新面板。因此,即使在提交表單驗證之後,它也會驗證並顯示所需的信息幾乎2秒鐘,然後提交表單。
這是什麼解決方法?jquery驗證和更新面板在一起
我也試過這個。
<asp:UpdatePanel ID="AddUserPanel" runat="server"
ChildrenAsTriggers="false"
UpdateMode="Conditional">
但這也似乎沒有幫助。
您需要返回false停止事件冒泡對onsubmit,像這樣:
$("form").submit(function (e) {
e.preventDefault();
return(false);
});
但是我不知道什麼ASP,所以我不知道這是否會在這方面的幫助特殊案例。
也許您需要使用.live
或者在此面板中的內容加載後重新連接處理程序,以便onsubmit事件綁定到它?
Asp.net WebForms使用提交表單的__doPostback()
函數。
這是我會做:
檢查表單提交執行看到的東西是否按預期工作,以便驗證首先發生(我敢肯定它,因爲你得到這些消息了)並檢查每個零件的代碼。
如果驗證並不能阻止默認事件執行(冒泡)由要麼返回false
調用preventDefault()
或兩者,那麼它應該改爲與Asp.net的WebForms充分合作。
如果在驗證方面看起來一切正常,您應該更改您的__doPostback()
函數。它確實聽起來很駭人,但有時候這樣的事情必須完成。複製現有的代碼並添加額外的檢查。沒什麼好擔心的。
另請檢查此Stackoverflow question。
哦,地獄。剛做這一個谷歌搜索,並只包括計算器的結果:jQuery validation webforms site:stackoverflow.com
如果你使用你需要下面的l33t代碼的腳本經理:
$(function() {
//Code that runs before update panel is fired.
//Listen for update panel
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
//Re-initialize jquery after an auto post back.
function EndRequestHandler(sender, args) {
//Do work after update panel fires.
}
});
所以基本上你有重複的代碼,代碼的EndRequestHandler之外()和裏面。
如果我沒有記錯,你可以使用常規的按鈕,而不是asp:按鈕,這將不會導致回發。如果是這種情況,那麼你可以使用JavaScript來更新UpdatePanel。
哪個驗證插件? – Hawxby 2011-02-05 10:47:07
@Hawxby:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – naveen 2011-02-05 12:18:26
更新面板對於毫無戒心的新人來說是一件閃亮的玩具。我強烈建議你發現AJAX :)(但我確實有答案,並會將代碼從我故意丟失的地方拉出來,一旦我發現了AJAX) – 2011-02-12 06:29:45