我如何使表单张贴到一个url由下拉菜单中选择的值确定


How can I make a form post to a url determined by the value selected in drop down?

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

字段中有一个<select>框。

我想要相同的表单发布到3个不同的url,由在<select>框中选择的三个值中的哪一个来确定。

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

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

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

你可以这样使用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。

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

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

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

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

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

我会做JS版本