我正在使用JQuery循環插件(在單獨的站點範圍自定義js文件中定義屬性)在兩個頁面之間循環(由表格分隔)的形式。每個頁面都有自己的驗證組,用於該頁面上的控件。第一頁有一個「下一步」按鈕,手動點擊會觸發第一個驗證組的頁面驗證。如果失敗,則顯示工具提示以供用戶更正信息。如果驗證成功,則調用cycle next命令。如果驗證組無效,JQuery循環插件需要循環到下一張幻燈片
$('#request-information').cycle('next');
在第二頁上,控件按提交按鈕分組在第二個驗證組中。當點擊提交按鈕時,觸發服務器端驗證,如果失敗,則頁面在回發時重新加載。所有這些工作,除非第二頁失敗,我希望窗體留在第二頁。因此,如果因爲表單的第二頁無法驗證而重新加載網頁,我需要將啓動幻燈片設置爲表單的第二頁,或者至少不能觸發循環下一個命令。
似乎我不能將startingslide設置爲表單的第二頁,因爲它會覆蓋在單獨的js文件中設置的循環函數的其他已定義屬性。
所以沒有人知道如何提前回發頁面加載的第二張幻燈片,基於第二個驗證組是否在點擊提交按鈕時失敗?或者我應該使用視圖狀態或其他方式做一些不同的事情?
對不起,這是一個漫長的問題。希望它清晰而不混亂。 謝謝
哇,非常感謝這個偉大的答案。感謝您花時間。它非常清楚,我現在擺弄這個。這對我來說很有用。感謝您向我介紹$ .extend函數。我知道必須有一種方法來添加屬性,只是不知道如何。 – Dmase05 2011-01-06 16:53:04
@ DMase05:順便說一句,'$ .extend()'會修改它的第一個參數,因此如果這很重要,應該提供一個空對象作爲第一個參數:'x = $ .extend({},a,b,...) ;'。 jQuery有許多人們似乎不知道的小工具:http://api.jquery.com/category/utilities/。乾杯。 – 2011-01-06 19:16:36