2010-11-12 68 views
0

後,我有一個表格,其中IM詢問姓名,電話手機,並在最終用戶必須檢查在一個或多個選項複選框,然後點擊提交。如何顯示在選擇形式的非選擇的選項,先前的表單提交

後,在「感謝頁面」我要顯示的具體形式,但這次只顯示非選中的複選框。 原因是我想說「我們強烈建議您檢查所有選項以獲得更好的結果,只需單擊下面的提交按鈕即可完成」

然後在下面我要將表單我說過,但剩下的複選框(之前沒有檢查過的oens)只會是前一頁中未經檢查的選項。說得通?

伊夫用PHP努力的嘗試,如果美國和交換機,但不能仍然得到我想要的結果,看來我必須定義在某種程度上我不是cabable做的「虛假陳述」。

我應該使用PHP還是jQuery?

任何人都可以幫助我嗎?我有點失落。 感謝很多提前

回答

1

(編輯:編輯問題後改寫後)

好吧,我建議的解決辦法仍然是一個類似於你改寫這個問題之前。你有一個複選框列表?我想通過把這些複選框的名稱中的數組開始:

$checkboxes = Array("checkbox1" => 0, "checkbox2" => 0, "checkbox3" => 0); 

渲染你使用這個數組一致性複選框的列表(這樣可以防止你添加一個複選框不在列表中,etceteras)。只渲染那些值爲'0'的。

當您提交的形式和正在處理的$_POST,您可以設置已選中「1」的任何複選框。重新渲染複選框(它只會做那些爲0的值)

編輯:對不起了這麼久,我有點忙,我的PHP是一種生疏。我道歉,每一個PHP程序員,上面寫着這一點,它是快速和骯髒的!」

<?php 
function renderCheckboxes($checkBoxes) 
{ 
    foreach($checkBoxes as $field => $value) 
    { 
     if($value == 0) 
      echo("<input type=\"checkbox\" name=\"$field\" />". 
       "<label for\"=$value\">$field</label><br/>"); 
    } 
} 

// initialise possibibilites 
$array = Array("Name" => 0, 
       "Tel" => 0, 
       "Address1" => 0, 
       "Address2" => 0, 
       "Town" => 0, 
       "Postcode" => 0, 
       "Country" => 0); 

// process form here 
$posting = count($_POST) > 0; 
if($posting) // submitting? 
{ 
    foreach($_POST as $field => $value) 
     $array[$field] = 1; 
} 
echo("<html>". 
     "<body>". 
      "<form name=\"frmTest\" id=\"frmTest\" method=\"post\" action=\"test.php\">"); 
if($posting) 
    echo("We highly recommend you select the following:<br/>"); 
renderCheckboxes($array); 
echo("<input type=\"submit\" value=\"Submit\" />". 
      "</form>". 
     "</body>". 
     "</html>"); 

?> 
+0

對不起我不明白你在說什麼 – sebastian 2010-11-12 11:06:04

+0

它只是複選框不必須所有的複選框選中 PD。:對不起,我的意思在我的崗位複選框,不要選擇,對不起再次,不良編輯了。 – sebastian 2010-11-12 11:07:02

+0

我已經編輯我的職位複選框的情況。:) – 2010-11-12 11:17:11

相關問題