有個情況是這樣的, 在一個頁面上, 我們可能會透過 Javascript 來動態處理資料.
如下圖, 一個輸入框搭配一個按鈕, 輸入資料後, 按下按鈕會動態將資料顯示在畫面上.
這新增的按鈕會將這些資料變成 javascript 物件並輸入在下方, 最後要提交 form 時, 會將這些 javascript object 放到一個 hidden 欄位送出到預覽頁.
問題來了, 若在預覽頁覺得不對, 要回頭來修改. 我們會透過 javascript 回上一頁, 此時會發現.
這些動態輸出的資料不見了. 原因在於, Browser 會將這些 javascript 物件都清空.
解決方式有兩種:
1. 不透過 javascript 回上一頁, 而是透過程式回上一頁並處理
2. 想辦法還原那些輸出.
現在就是要討論第二種做法, 如何還原輸出?
其實 Browser 不會清空 form 裡面的資料, 包含 hidden 欄位.
因此, 需要在 document onload 時, 去判斷該 hidden 欄位是否有資料.
有資料代表上一頁回來的, 此時再將資料回復, 並重新輸出即可..