2014-09-11 69 views
0

有沒有辦法在頁面上保留表單元素的值,而不使用頁面上的data-dom-cache如何在不使用data-dom-cache的情況下保留jquery移動頁面的狀態

例如。我有一個表單,用戶在表單(Page1)中輸入安全數據並導航到另一個頁面(Page2 - 表單繼續),然後點擊'Submit'按鈕將請求發送到服務器。

  1. 如果請求失敗並且用戶導航回第1頁,則用戶輸入的值將保留在頁面上。

  2. 如果請求成功並且用戶導航回第1頁,則用戶輸入的值不保留在頁面上。

有沒有一種方法可以在頁面上不使用'data-dom-cache'屬性。

回答

1

你可以使用HTML的sessionStorage

編輯:

當您離開第1頁,你可以保存的sessionStorage例如頁面數據

var keyForStep1 ='step1' 
var objectValue = JSON.stringify({name:"John",lastname:"Doe", other:"other staff"});//NOTE: your form data 
if (typeof (sessionStorage) !== "undefined") { 
       if (keyForStep1!== null) { 
        if (sessionStorage.keyForStep1) { 
         try { 
          //sessionStorage.key = objectValue; 
          sessionStorage.setItem(keyForStep1, objectValue); 
         } catch (e) { 
          console.log("LIMIT REACHED: (" + i + ")"); 
          console.log(e); 
         } 
        } 
       } 
      } 

如果請求失敗,你可以閱讀從這樣的存儲數據(你可以檢查是否存在keyForStep1如果它不然後從中讀取數據)。

var objData = JSON.parse(sessionStorage.keyForStep1); 
console.log(objData.name)//etc.. 

http://www.w3schools.com/html/html5_webstorage.asp

你可以在這裏看到的sessionStorage瀏覽器支持:

http://caniuse.com/#feat=namevalue-storage

相關問題