2014-02-09 188 views
0

我试图通过php验证后保留我的选择输入的值,但我无法让它工作。验证后保留SELECT输入的值(表单 - POST方法)

这适用于文本输入:

<input type="text" name="answer" id="answer" 
value="<?php if(isset($_POST['answer'])){ echo $_POST['answer'];}else{ echo '';} ?>"> 

但如何使这项工作的投入?

<select name="question" value="<?php ?>" > 
           <option value="one">Num 1 ?</option> 
           <option value="two">Num 2 ?</option> 
           <option value="three"> Num 3 ?</option> 

          </select> 
+0

http://stackoverflow.com/questions/19884 685/PHP的选项值 –

回答

1

您需要使用selected属性:

<select name="question"> 
    <option value="one"<?php if(isset($_POST["question"]) && $_POST["question"] == "one") print(" selected")?>>Num 1 ?</option> 
    <option value="two"<?php if(isset($_POST["question"]) && $_POST["question"] == "two") print(" selected")?>>Num 2 ?</option> 
    <option value="three"<?php if(isset($_POST["question"]) && $_POST["question"] == "three") print(" selected")?>> Num 3 ?</option> 
</select> 
1

对于选择你需要做的是这样

<select name="question" value="<?php ?>" > 
    <option value="one" <?php if(isset($_POST["question"]) && $_POST["question"]=="one"){ echo 'selected';} ?> >Num 1 ?</option> 
    <option value="two">Num 2 ?</option> 
    <option value="three"> Num 3 ?</option> 

</select> 

但我会建议使用jQuery做是多少更简化,因为这个IF语句,你将不得不写每个值