我正在编写一个简单的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版本