我知道這是一項艱鉅的任務,但是如果用戶在不提交的情況下導航到其他頁面時有任何保存表單輸入的好方法,那麼當他們回來時他們不必重新輸入信息?任何保存未提交表單的好方法?
我使用的是Rails 4,Simple Form和jQuery,但我對任何不是醜陋的解決方案都是開放的。
我知道這是一項艱鉅的任務,但是如果用戶在不提交的情況下導航到其他頁面時有任何保存表單輸入的好方法,那麼當他們回來時他們不必重新輸入信息?任何保存未提交表單的好方法?
我使用的是Rails 4,Simple Form和jQuery,但我對任何不是醜陋的解決方案都是開放的。
jQuery序列化函數可能是你的朋友在這裏。 您可以序列化出路並將其保存到數據庫或localStorage,然後在返回頁面時執行相反操作。
http://api.jquery.com/serialize/
或者,也可以通過環中的元素,並將它們存儲在一個陣列/對象您然後也存儲在localStorage的和重新進入你相應重新填充表單的值。
如果您不想要任何外部依賴項,您可以創建一個後退按鈕(或任何其他頁面)實際提交表單。然後,根據params[:submit]
的值輸入if
陳述,並使用params
散列來填充新頁面上的一些隱藏字段。
當您單擊回原始窗體時,將隱藏字段提交併填充輸入。
這些都是偉大的想法,但我剛剛找到了完美的解決方案:Garlic.js。
對於在今後類似的問題的人,你有garlicjs做的是包括圖書館,以下內容添加到您的表單標籤:
data-persist="garlic"
圖書館幾乎採取一切照顧從那裏完全如你所料。如果你不喜歡它的一些預設,它似乎很好的記錄和幾乎每個功能似乎是可以禁用的。
一個問題是它是一個HTML5唯一的解決方案,但這對我的目的很好。如果你需要更多的交叉兼容,Rob的解決方案看起來不錯。
是的,看起來不錯。以localStorage的原理工作,但需要一些重要的東西! –