【问题标题】:PHP - Pass Drop Down List option through query stringPHP - 通过查询字符串传递下拉列表选项
【发布时间】:2009-09-04 06:11:36
【问题描述】:

我有一个下拉列表,其中包含需要通过查询字符串传递的选项。我该怎么做呢?另外,任何人都可以列出使用按钮和不使用按钮的方法吗?谢谢!

【问题讨论】:

  • 对不起,“通过查询字符串”是什么意思?就像在 mysql 查询中一样? “没有按钮”是什么意思?是否要使用 ajax 将数据传回服务器?

标签: php get html-select forms


【解决方案1】:
<form method="get">
<select multiple="multiple" name="things[]">
...
</select>
<input type="submit" value="submit"/>
</form>

<?php    
if(isset($_GET['things'])) {
    foreach($_GET['things'] as $thing) {
       echo $thing . '<br />';
    }
}
?>

【讨论】:

  • 谢谢。伙计,你帮了我很多。哈哈
  • 我仍然不清楚这解决了什么问题。是在名称中使用括号使其成为数组吗?
  • @Anthony - 他说的是“选项”,所以我认为他的意思是多选,他想知道如何将选定选项的数组发送到服务器,问题是选择之后的 [] name 属性,并且知道这会将 $_GET['things'] 变成一个数组。
  • 我实际上必须删除括号才能使其工作。
  • @Nate Shoffner - 您使用的是多选还是普通选择?
【解决方案2】:

根据 Jani 的回复,您是否希望在没有按钮的情况下提交表单,但如果用户没有 javascript,您是否仍然有一个备份按钮?你可以使用noscript 来覆盖:

<form action="script.php" method="get">
     <div>
     <select name="options" onchange="this.form.submit()">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
     </select>
     <noscript>
          <input type="submit" value="Go!" />
     </noscript>
     </div>
</form>

【讨论】:

    【解决方案3】:

    没有按钮:

    <form method="get">
    <select multiple="multiple" name="things[]" onchange="this.form.submit()">
    ...
    </select>
    </form>
    

    【讨论】:

    • 为了更易于访问和向后兼容,我会选择:&lt;select multiple="multiple" name="things[]" onchange="this.form.submit()"&gt;&lt;noscript&gt;&lt;input type="submit" /&gt;
    • erp...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多