PHP提交后保留选择选项

时间:2013-03-19 15:26:45

标签: php html forms

我有一个包含国家/地区列表的html选择框。当我选择一个时,它会毫无问题地发布到PHP方法,但是选择框会重置到顶部。如何保留用户在此处选择的值?我的代码在这里(为了简洁起见,我已经把大多数其他国家拿走了)

<html>
    <body>
        <form action="" method="post">
            <select name="countryCd"  onChange="submit();return false;">
                <option value="AFG">Afghanistan</option>
                <option value="ALA">Aland Islands</option>
                <option value="ALB">Albania</option>
            </select>
        </form>

    <?php echo $_POST["countryCd"]; ?>

    </body>
</html>

3 个答案:

答案 0 :(得分:7)

您可能会发现此问题很有用:

Keep form values after submit PHP

基本上你可以使用类似的东西:

<select name="countryCD">
      <option value="AFG" 
         <?php if(isset($_POST['countryCD']) && $_POST['countryCD'] == 'AFG') 
         echo 'selected= "selected"';
          ?>
      >Afghanistan</option>
</select>

答案 1 :(得分:3)

尝试:

<select name="countryCd"  onChange="submit();return false;">
    <option value="AFG" <?= $_POST['countyCd'] == AFG ? 'selected' : '' ?>>Afghanistan</option>
    <option value="ALA" <?= $_POST['countyCd'] == ALA ? 'selected' : '' ?>>Aland Islands</option>
    <option value="ALB" <?= $_POST['countyCd'] == ALB ? 'selected' : '' ?>>Albania</option>
</select>

答案 2 :(得分:1)

将以下内容添加到每个OPTION中。您需要为每个更改此值

<?php if($_POST['countryCd'] == '*this value*'){ php?>selected<?php } php?>