【发布时间】:2017-07-06 17:53:49
【问题描述】:
考虑以下形式:
<form method="get" enctype="multipart/form-data">
<input type="hidden" value="0" name="foo">
<input type="checkbox" value="1" name="foo">
</form>
提交表单时,如果未选中复选框,则会请求 URL ...?foo=0。如果选中该复选框,则会请求 URL ...?foo=0&foo=1。在 PHP 中,查询字符串参数会覆盖之前的任何同名参数,因此在处理后一个请求的 PHP 脚本中,foo 将具有值 1。
当对表单一无所知时,使用 JavaScript 在 PHP 脚本中获取值 foo 的最佳方法是什么?理论上,可以有任意数量的名为 foo 的不同类型的输入,我想知道如果提交表单,foo 在处理请求的 PHP 脚本中的值。
据我了解,答案是最后一个启用的名为foo 的输入元素的值。通过启用,我的意思是输入元素未被禁用并且它不是按钮(按钮的名称和值不会添加到查询字符串中,除非该按钮用于提交表单)或未选中的复选框或单选按钮。
也许有一种使用 jQuery 获取此值的简单方法?
编辑
很多人建议我将输入元素重命名为foo[] 或类似名称。我想我还不够清楚,我实际上想要所有名为 foo 的输入元素,并且只接收 php 脚本中的一个值。
我的问题是如何确定 php 脚本将使用 JavaScript 接收哪个值。
【问题讨论】:
-
为什么你的输入有相同的名字?更改 foo1 和 foo2。
-
您是否尝试过将数组设置为名称? (
name="foo[]") -
我只想保留最后一个启用的
foo,所以它们都应该命名为foo。 -
祝你好运,保持所有相同的名字.....没有意义
标签: javascript php jquery html forms