表单提交后保留选中的值

3zz*_*zzy 29 html javascript php forms wordpress

<form method="get" action="">
   <select name="name">
      <option value="a">a</option>
      <option value="b">b</option>
   </select>
   <select name="location">
      <option value="x">x</option>
      <option value="y">y</option>
   </select>
   <input type="submit" value="Submit" class="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

在提交表单时,如何确保在下拉列表中保持选定的值?这个表单在wordpress(PHP)中.

Sar*_*raz 44

为了避免许多if-else结构,让javascript自动完成这个技巧:

<select name="name" id="name">
   <option value="a">a</option>
   <option value="b">b</option>
</select>

<script type="text/javascript">
  document.getElementById('name').value = "<?php echo $_GET['name'];?>";
</script>

<select name="location" id="location">
  <option value="x">x</option>
  <option value="y">y</option>
</select>

<script type="text/javascript">
  document.getElementById('location').value = "<?php echo $_GET['location'];?>";
</script>
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的解决方案IMO-引入javascript来保存几行PHP是没有意义的. (7认同)
  • 它会适用于多种选择吗? (2认同)

Ign*_*ams 22

<select name="name">
   <option <?php if ($_GET['name'] == 'a') { ?>selected="true" <?php }; ?>value="a">a</option>
   <option <?php if ($_GET['name'] == 'b') { ?>selected="true" <?php }; ?>value="b">b</option>
</select>
Run Code Online (Sandbox Code Playgroud)

  • 如果在代码中生成`option`标签(如果不是,那么为什么不呢?)你可以把支票放在循环中. (4认同)

小智 6

经过努力,这个"解决"没有任何作用.之前对w3school进行了一些研究,并记住了有关保持无线电价值的解释.但它也适用于选择选项.看这里的例子.试试吧,玩吧.

<?php
    $example = $_POST["example"];
?>
<form method="post">
    <select name="example">
        <option <?php if (isset($example) && $example=="a") echo "selected";?>>a</option>
        <option <?php if (isset($example) && $example=="b") echo "selected";?>>b</option>
        <option <?php if (isset($example) && $example=="c") echo "selected";?>>c</option>
    </select>
    <input type="submit" name="submit" value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)