【问题标题】:Selecting Values in PHP From Double Drop-Down Menu从双下拉菜单中选择 PHP 中的值
【发布时间】:2014-07-02 19:14:55
【问题描述】:

我正在创建一个下拉菜单,其中第二个下拉菜单依赖于第一个;第一个下拉列表是表格列表,根据您选择的表格,可以选择该表格的列。

<form id = "table_column" action = "file_name.php">
    <select id = "tables" name = "tables" onclick = "script();">
        <option name = "table_option_one" value = "people">people</option>
        <option>...</option>
    </select>
    <select id = "columns" name = "columns" onclick = "other_script();">
        <option name = "column_option_one" value = "name">name</option>
        <option>...</option>
    </select>
    <input type = "submit"></input>
</form>

我试过下面的代码没有成功。

$table_name = $_POST["tables"];
$column_name = $_POST["columns"];

如何访问 PHP 中每个下拉菜单中选择的值?

我只是在检索所选值时遇到问题。菜单依赖于另一个菜单并且切换工作正常

【问题讨论】:

  • 您必须在 Javascript 中执行此操作。 PHP 运行在服务器上,而不是客户端。
  • 请添加您的代码。
  • @JohnnyDew 我添加了代码。
  • @timtour97 你的表单没有method="post",如果你没有在表单中添加这个属性,这些值将可以通过$_GET 变量访问

标签: php html drop-down-menu


【解决方案1】:

好的,根据您的新说明(您可以很好地填充下拉菜单),您可以执行以下操作。

给输入标签一个这样的ID:

<input type="submit" name="submit" id="submit" value="Submit"> <!--form submit button-->

并在您的 PHP 中执行这样的条件:

if (isset($_POST['submit'])) {
    $table_name = $_POST["tables"];
    $column_name = $_POST["columns"];
}

确保您的表单也有 method="post" 属性:

<form id = "table_column" action="file_name.php" method="post">

这样,当点击提交按钮时,您的值将被检索。

【讨论】:

  • 将方法属性添加到表单中就可以了!谢谢!
【解决方案2】:
  1. 使用 AJAX 通过将第一个菜单的值传递给 PHP 脚本来获取第二个菜单的数据。
  2. 使用 AJAX 成功函数填充第二个菜单。
  3. 提交表单后,使用 PHP 获取正常值,即$_POST['tables']$_POST['columns']

【讨论】:

  • 我已经完成了前两步,我正在寻找的是我对你的第三步有问题的事实。我尝试使用 $_POST['tables'] 访问选定的值,但出现此错误:未定义索引:第 6 行的表。
  • method="post" 添加到您的&lt;form&gt; 元素中。
【解决方案3】:

这对于 Javascript 来说更像是一项工作,而不是 PHP。最简单的解决方案(不涉及 AJAX)是对所有可能的第二个下拉列表进行编码,使它们不可见(使用 CSS),然后在第一个下拉列表中发生更改时使相应的出现。

【讨论】:

  • 我可以使用 javascript 切换下拉菜单。我在获取 PHP 端每个下拉列表中选择的值时遇到问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-30
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多