天天看點

頁面表單預覽資料傳遞注意事項

有時候需要提供給使用者對剛填寫的表單“預覽”功能,預覽後還要返還源頁面,并且保證頁面資料不丢失。

有的是采用js功能給一個彈出框。

但有的需要真實html頁面的跳轉,我昨晚上弄的就是這個,現在記下來備用

不好意思,我暫時用PHP代碼來講,其它的語言中也應該有這些api函數:

1.form表單送出,擷取多個input表單,組成數組。

2.顯示預覽頁面時,先将數組用json_encode();進行編碼,然後$smarty->assign('var', $var)到預覽頁面

3.在預覽頁面用html标簽<textarea><{$var}></textarea>接收(我用<input type="text" ..../>,沒有接收成功)

4.用form表單送出後獲得該$var,由于我的頁面送出後對json格式的資料中的雙引号進行了轉義

   是以,如果你們的也這樣,就用php的htmlspecialchars_decode($var)函數将雙引号還原

5.經過第四步後就可以用PHP的json_decode($var,true);進行解碼,獲得最初源頁面送出的數組了

2012年10月25日 14:42:14

今天又發現一個問題,中文字元的json編碼是用轉義字元+u+16進制數字(\u5f20\u5fd7\u658c)組成的,

不知道什麼原因,入庫(mysql)時這裡的轉義斜線沒有了(變成了:u5f20u5fd7u658c),再讀出來json_decode()時,當然就不能顯示漢字了,