Re: [請益] 請問網路問卷設計關於分頁的問題
※ 引述《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
02/24 00:43, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 9 篇):