2013-04-28 75 views
0

我希望在提交表單後保留用戶下拉選擇,但是,由於我添加了代碼來執行此操作,因此它在我的下拉列表中創建了空白選項(甚至在任何事情發生之前提交)。發生了什麼,我該如何糾正它?很感謝任何形式的幫助。在回發中保留下拉選擇創建空選項

$sals = array('Mr','Mrs','Miss','Dr'); 

<label>Salutation: </label> 
<select name='mysal'> 

<?php 
foreach ($sals as $sal) { 
echo "<option value='$sal'"; 
if($sal == @$sal_conf) echo 'SELECTED'; 
echo ">".$sal."<option />";      
} 
?> 

如果提交按鈕(此處省略)時:

if (isset($_POST['submit'])) 
{ 
$sal_conf = $_POST['mysal']; 
} 

打開下拉列表這個樣子的

先生

夫人

小姐

Dr

每個選項後都有一個空選擇。

回答

1

試試看。

<?php 
foreach ($sals as $sal) { 
    $selected = ($sal == $sal_conf) ? ' SELECTED' : ''; 
    echo '<option value="'.$sal.'"'.$selected.'>'.$sal.'</option>';      
} 
?> 
+0

Yeeeessss。非常感謝,它的工作。空的選擇空間已經消失,之前的選擇被保留。你太棒了 – user2329524 2013-04-28 18:41:18

+0

接受答案,如果它幫助你。 – rjv 2013-04-28 18:55:04

+0

哎呀,我忘了接受答案,謝謝 – user2329524 2013-04-28 19:03:13

0

您還沒有關閉了

<option></option> 

我覺得清潔劑使用大括號{}當我有內聯變量,而不是使用雙引號,當我關閉的字符串。

foreach($sals as $sal){ 
    echo "<option value={$sal}"; 
    if($sal == @$sal_conf) {echo "SELECTED "; } 
    echo " >{$sal}<option />"; 
    } 
+0

非常感謝您的幫助,但我將您的代碼粘貼到我的代碼中,並且選項中的空格仍然存在,並且它不保留之前的選擇。另外,我確實關閉了選項標籤,我不確定您是否錯過了我的第一篇文章。 – user2329524 2013-04-28 18:38:37