Re: [請益] 請問網路問卷設計關於分頁的問題

看板PHP作者 (骨傲風清(掛網))時間16年前 (2008/02/24 00:08), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/9 (看更多)
※ 引述《MrMarcus (請勿忘記密碼)》之銘言: : 以上3種方式都會遇到一個問題:將問卷分成數個頁面,免不了要提供 : 使用者回去前一個頁面修改之前填寫的資料的功能(除非在問卷設計上 : 就是刻意不讓使用者在送出之前有修改之前作答資料的機會)。 : 當使用者按下「上一頁」按鈕回到前一個頁面的時候(這裡的「上一頁」 : 按鈕址的是我們自己提供的按鈕,不是瀏覽器本身的上一頁按鈕,當然啦 : 瀏覽器本身的上一頁按鈕也會帶來問題,不過這裡先不討論),我們得 : 把使用者之前填寫的資料重新倒出來填入所有的欄位,當初勾選的狀態 : 也都要恢復原狀,這得花掉一些工夫。 : 因此我推第4種做法,就是在瀏覽器端做分頁。用幾個<div>將問卷題目 : 包起來,透過CSS/JavaScript(不難)去隱藏/顯示某一頁的題目,然後 : 在最後一頁提供一個送出的submit按鈕,一次將所有資料送到後端程式去。 : 這個做法不須用到session或者隱藏欄位,也不須考慮回到上一頁時得 : 將前一頁的作答狀態回復的問題(從第3頁回到第2頁只是把div#3隱藏 : 然後把div#2顯示而已,div#2當初的作答狀態會原封不動恢復)。 : 在伺服器端程式方面是透過POST一次接收到所有資料,也比較單純些。 既然有網友提到這個問題 .... 我不推 JS 是因為我是真心覺得 網頁應該要在JS失效時還能正常使用, 不過坦白說我是真的不清楚,但是我猜M大的方法在JS失效時應該只會無法分頁, 不過造成無法分頁而導致<input type="submit">不見的狀況記得要避免。 如果 法1 法2 要讓使用者在回上一頁也可以更改/編輯通常我會用 ... <input type="text" name="name1" value="<?php echo $_POST['name1']; ?>"> <input type="text" name="name2" value="<?php echo $_SESSION['name2']; ?>"> if($_POST['name3']=='value3' or $_SESSION['name3']=='value3') { $radio_3 = ' checked'; } <input type="radio" name="name3" value="value3" <?php echo $radio_3; ?>> 這樣的方式,端看你要把資料存在哪裡 :p 不過我不嫌麻煩可能是這種事情我做習慣了, 一開始寫都會記得把value後的PHP code 先寫好。 如果你每寫完一頁就要寫進資料庫一次, 那真的會很辛苦 ^^" 因為每一次都要把資料讀出來 .... 然後顯示 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.168.222

02/24 00:43, , 1F
謝謝熱心的講解喔~我會試試session的方法看看~感恩!!
02/24 00:43, 1F
文章代碼(AID): #17m4Jjov (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 9 篇):
文章代碼(AID): #17m4Jjov (PHP)