【问题标题】:Select box is generated by JavaScript but value is not passed on form submit选择框由 JavaScript 生成,但表单提交时未传递值
【发布时间】:2011-09-20 12:55:05
【问题描述】:

当用户从第一个选择框中选择一个值时,我有第二个选择框使用 Javascript 创建。 JS 运行一个 PHP 文件,该文件根据第一个选择在 MYSQL 数据库中查询相关项目。

我遇到的问题是提交表单时,用户在第二个框中选择的项目的值未在标题中传递。

有没有人知道如何获取值并将其传递到标头中?

谢谢。

这是第二个选择框的 PHP:

<?php
$cxn = mysqli_connect("localhost", "root", "root", "db") or die("Couldn't       connect");
$choice = $_GET['choice'];
$query = "SELECT ID, Model FROM models WHERE MakeID ='$choice'";
$result = mysqli_query($cxn, $query) or die("Couldn't execute query");

echo "
<select id='model' name='model'>
<option value='0'>Model (any)</option>";
while ($row = $result->fetch_object()) {
echo "
<option value='$row->ID'>$row->Model</option> \n

    ";
}
echo "
 </select>  ";
?>

【问题讨论】:

  • 向我们展示相关代码如何,以便我们了解您在做什么。
  • 如果没有看到(并相信你的话)它被正确地插入到表单中,我认为你不会得到太多答案。也许显示一些 HTML 和你有什么?否则,这是另一个“我的表格不起作用,你有什么建议”。

标签: php javascript html forms http-headers


【解决方案1】:

创建选择字段后,您必须将其附加到表单中。

<script>document.getElementById("MyForm").appendChild("select_field_id");</script>

【讨论】:

  • 嗨 Elvin85。感谢您的回答。我是把那段脚本放在页面上还是用选择字段呼应出来?
  • 可以放在之后。 echo " "
  • 我把它放在结束选择标签之后,但什么也没发生。 php 代码放置在底部的 标记之后。你有什么想法吗?
  • 你用 AJAX 做这些事情是吗?那么你必须在第一次选择 ONCHANGE() 时有 javascript 函数。你必须把 document.getElementById("MyForm").appendChild("select_field_id");该JS函数末尾的代码。如果您不明白,或者您不使用 AJAX,请在此处输入您的第一个文件代码,其中包含第一个选择字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 2023-02-17
  • 2013-01-21
  • 2013-05-10
  • 1970-01-01
  • 2019-06-19
相关资源
最近更新 更多