【问题标题】:Keep value for SELECT input after validation (Form - POST Method )验证后保留 SELECT 输入的值(表单 - POST 方法)
【发布时间】:2014-02-09 01:48:01
【问题描述】:

我试图在通过 php 验证后保留我的选择输入的值,但我无法让它工作。

这适用于文本输入:

<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>

【问题讨论】:

标签: php forms validation post


【解决方案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>

【讨论】:

    【解决方案2】:

    对于 Select 你需要这样做

    <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 语句你将不得不为每个值编写,这会更加简化

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      • 2011-09-18
      • 2016-07-20
      • 2013-11-03
      • 2016-08-10
      相关资源
      最近更新 更多