我有一个使用 jQuery 和 Ajax 来发布表单数据的表单,但无法让它发送具有相同名称和方括号的输入值。
输入看起来像这样并且将具有不同的值:
<input type="text" name="service[]" value="Value 1">
这是获取值的 var:
var service = $("input[name=service\\[\\]]")
然后用于收集通过 Ajax 发送的数据的 var 如下所示:
var data = 'name=' + name.val() + '&email=' + email.val() + '&phone=' + phone.val() + '&service=' + service.val() + '&brief=' + encodeURIComponent(brief.val());
然后在发送邮件的 PHP 脚本中包含以下内容...
$service = $_POST['service'];
$body .= implode(' | ', $service);
所以我的问题是,如何获取名称为输入的值name=service[]
并通过 Ajax 发送它们。
提前致谢 :)
不是您问题的确切答案,但有一种更简单的方法可以做到这一点。
将您的输入字段包装在表单中并制作一个on-submit
-事件。返回此事件 false,因此它实际上并未提交。
这就是窍门。在返回事件 false 之前,执行 ajax 请求。为表单提供一个 id 并使用 seralize 方法创建 json 字符串。
[...]
data: $('#formIDGoesHere').serialize(),
[...]
如果您将其作为 POST 变量发布到 PHP 文件中,则所有值都不会像通常那样可用$_POST
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)