1

我正在编写一个简单的 PHP 程序,其中包含一个要填写多个字段的表单。

田野中有一个<select>盒子。

我希望将相同的表单发布到 3 个不同的 URL,这取决于在该<select>框中选择了三个值中的哪一个。

我如何在 PHP 中编写这样的代码(使用典型的 HTML 表单)?

任何代码示例/指南都会有所帮助。

我(作为一个新手)对这部分特别困惑:表单开始标签已经指定了目标 URL,所以我以后如何更改它,这取决于用户在下拉框中给出的输入,作为下拉框的 HTML代码在打开的表单标记之后(已经声明了表单的目标 URL)?

4

3 回答 3

1

你不能在 PHP 中做到这一点。您必须使用 JavaScript 动态更改表单的action属性以指向您希望表单提交到的 URL。

这只能在 JavaScript 中完成,因为只有 JavaScript 才能访问与表单交互的客户端浏览器。

另一种方法是让您的表单始终提交到相同的 URL,并使用 PHP 中的分支逻辑处理提交的数据。我更喜欢这种方法,因为客户端不需要 JavaScript。

于 2013-05-24T20:07:49.797 回答
1

你可以像这样使用 JavaScript:

<form method="get" action="http://example.com/url1">
   <select name="_" onchange="this.form.action=this.value">
     <option value="http://example.com/url1">URL1</option>
     <option value="http://example.com/url2">URL2</option>
   </select>
   <input type="submit" value="Submit" />
</form>

每当值<select>更改时,表单的操作就会更新为所需的 URL。

于 2013-05-24T20:17:56.853 回答
1

使用 javascript,您可以获取所选下拉选项的值并填充表单的 action 属性。

使用 php,您可以拥有一个“results.php”页面,该页面可以重新打包 $_POST 变量并根据 $_POST['send_to_this_url'] 变量发送到正确的 URL。

我会做JS版本。

于 2013-05-24T20:08:58.333 回答