作者 主題: php + html ( form : radio / checkbox ) 問題一問  (閱讀 15164 次)

0 會員 與 1 訪客 正在閱讀本文。

edwardleung

  • 俺是博士!
  • *****
  • 文章數: 1135
    • 檢視個人資料
您們好,

請問有否方法可以保留或保存用戶端已選擇的選項 ( 如 radio / checkbox 等 )...
因需要他們每個問題都要回應問題, 如當返回問題網頁時, 原來已選用之功能仍存在!

有否例子可供參考?

謝謝協助!

Edward.

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1693
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #1 於: 2007-10-17 11:15 »
如果是用 window.history.back(); 應該會記住之前選的選項

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #2 於: 2007-10-17 11:24 »
用 cookie 或 session 記錄..

edwardleung

  • 俺是博士!
  • *****
  • 文章數: 1135
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #3 於: 2007-10-17 11:30 »
您好,

請問有否例子可供參考呢 ?

Edward.

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #4 於: 2007-10-17 11:37 »
手上沒現成的例子,

不過如果你會用 cookie or session 應該就知道怎麼做吧  :roll:

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #5 於: 2007-10-17 12:33 »
方法1.前端用javascripts檢查強制輸入(當user關閉javascripts時無效)
方法2.後端把整個$_POST再送回來(方便用於欄位太多的時候)

edwardleung

  • 俺是博士!
  • *****
  • 文章數: 1135
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #6 於: 2007-10-17 14:02 »
您好,

關於方法2, 請問意思為何 ?

Edward.

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
if else
« 回覆 #7 於: 2007-10-17 14:33 »
<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>

每當使用者select/check與changed時,網頁送回使用者的填單內容,ajax可以,或者,form posted。

完成填單前,如果,需要前往另外的確認或登入頁,auth完畢又回到填單,貼心自動填回之前填過的,post var或根據session資料填寫。
lifeIsFunWithPHP.

edwardleung

  • 俺是博士!
  • *****
  • 文章數: 1135
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #8 於: 2007-10-17 16:20 »
引用

<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>


請問以上例子當有多個 radio 選項時, 系統如何分辨那個 foo 的變數內容 ( 1 或 2 ) 才有被選用呢 ?

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #9 於: 2007-10-17 16:35 »
引述: "edwardleung"
引用

<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>


請問以上例子當有多個 radio 選項時, 系統如何分辨那個 foo 的變數內容 ( 1 或 2 ) 才有被選用呢 ?


你必須自己想辦法試著舉一反三阿!!!

不同的變數當然是用不同的變數名稱。
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

edwardleung

  • 俺是博士!
  • *****
  • 文章數: 1135
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #10 於: 2007-10-17 17:50 »
<input type="radio" name=foo value="1" <?=($_POST['foo']?"checked":"")?>>
<input type="radio" name=foo value="2" <?=($_POST['foo']?"checked":"")?>>

請問這樣情況下可以怎樣做呢 ?

同一變數名稱, 但變數內容不同...

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
session or POSTED
« 回覆 #11 於: 2007-10-17 18:04 »
如果每次form物件的更動,或者在某個動作紀錄整個form.bla.bla

<?=var_dump($_SESSION['foo']?>

看似平凡的一個sess,倒出來可能是上百k的名稱與資料結合的陣列。

傳回form的uri,甚是

writeform.php?ka=aa&kb=bb&kc=cc&kd=dd&ke=ee........

darkhero說了關鍵,得用腦想。
lifeIsFunWithPHP.

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
php + html ( form : radio / checkbox ) 問題一問
« 回覆 #12 於: 2007-10-17 22:30 »
下面搭配session, 很偷懶的做法, 您試試:
代碼: [選擇]
<?//a.php
session_start();
if(session_is_registered("var_session"))
{
$_POST=$_SESSION[var_session];
}
?>
<form action="b.php" method="post">
<input type="text" name="var1" value="<?= $_POST[var1]?>">
<input type="text" name="var2" value="<?= $_POST[var2]?>">
<input type="radio" name="foo" <?if ($_POST[foo]=="1") {echo "checked";}?> value="1">
<input type="radio" name="foo" <?if ($_POST[foo]=="2") {echo "checked";}?> value="2">
<input type="submit" value="go">
</form>

代碼: [選擇]
<?//b.php
session_start();
session_register("var_session");
if($_POST)
{
$_SESSION[var_session]=$_POST;
echo "<a href='a.php'>return</a>";
}
?>

bballlover

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
Re: php + html ( form : radio / checkbox ) 問題一問
« 回覆 #13 於: 2017-06-03 01:16 »
感謝  用這招真的可以

原本是用 checked = <?php 判斷式 >
發現一直不行   覺得他可能預設前面只能有一個checked

改用 <?php 判斷式 { echo 'checked'; } ?>  搞定   困擾我好久~謝謝大大~