【问题标题】:serializeArray on keyless array input无键数组输入上的 serializeArray
【发布时间】:2012-09-13 04:37:53
【问题描述】:

如果我有一个无键数组作为名称之一的表单,如下所示:

<form id="form">
    <input name="array[]" type="text" value="zero" />
    <input name="array[]" type="text" value="one" />
    <input name="array[]" type="text" value="two" />
    <input name="array[]" type="text" value="three" />
    <input name="single" type="text" value="something" />
</form>

我最终想在 PHP 中变成这样的多维数组:

Array ( [array] => Array ( [0] => zero [1] => one [2] => two [3] => three ) [single] => something )

如何在不发布表单数据的情况下在 Javascript/jQuery 中做到这一点?

注意:我将通过 Ajax 将我通过 jQuery 获得的任何数据发送到 PHP,并且不需要这部分的帮助。实际上,我所需要的只是一种以最终可以使用 PHP 读取的方式打包表单数据的方法。似乎 serializeArray() 或 serialize() 不能解决问题。提前感谢您的帮助。

【问题讨论】:

  • 在我看来 serialize() 可以解决问题 just fine
  • 对不起,伙计,如果您想用 PHP 处理它,您将不得不将您的表单发布到服务器。只需序列化表单

标签: javascript jquery forms serialization multidimensional-array


【解决方案1】:

使用$('#form').serialize()$.post 来完成您需要做的事情。

例如:

$.post(url, $("#form").serialize());

我不确定您将如何发布表单数据发布表单数据!

【讨论】:

  • 就像你和 bažmegakapa 说的,serialize() 实际上在 PHP 端与 parse_str() 一起工作。感谢您的帮助。
【解决方案2】:

这样的事情会起作用:

$.ajax({
    url: 'submit.php',
    data: $('#form').serialize()
});

$.post('submit.php',
    $('#form').serialize()
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2014-06-10
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    相关资源
    最近更新 更多