【问题标题】:jquery collect data from form into multiple objectsjquery 将表单中的数据收集到多个对象中
【发布时间】:2015-02-17 23:46:18
【问题描述】:

我不完全确定该怎么做。

但我有一个表单,其中包含多个输入文本区域的一些 div。我想将这些收集到一个多维数组中。有点像这样:

{
    "jason" : {
        "name" : "Jason Lengstorf",
        "age" : "24",
        "gender" : "male"
    },
    "kyle" : {
        "name" : "Kyle Lengstorf",
        "age" : "21",
        "gender" : "male"
    }
}

但我不完全确定该怎么做,谷歌也没有帮助。 我的 html 看起来像这样

<form class="testForm" method="POST">

    <div class="uploadForm">
        <input class="uploadedFile" name="form1[]name[]" type="text" value="myname" />
        <input class="uploadedFile" name="form1[]phone[]" type="text" value="2019192" />
        <input class="uploadedFile" name="form1[]text[]" type="text" value="sometext" />
    </div>

    <div class="uploadForm">
        <input class="uploadedFile" name="form2[]name[]" type="text" value="myname" />
        <input class="uploadedFile" name="form2[]phone[]" type="text" value="2019192" />
        <input class="uploadedFile" name="form2[]text[]" type="text" value="sometext" />
    </div>


    <button>save</button>
</form>

和脚本收集

<script>
    $( document ).ready(function() {

        $(".testForm").submit(function(e) {
        e.preventDefault();


        var $form = $(this);

        var $inputs = $form.find("input, select, button, textarea");

        var serializedData = $form.serializeArray();
        $inputs.prop("disabled", true);

        alert(JSON.stringify(serializedData));

        })

    });
</script>

【问题讨论】:

标签: javascript jquery arrays json forms


【解决方案1】:

SerializeJSON 非常适合您在此处尝试实现的目标。

https://github.com/marioizquierdo/jquery.serializeJSON

【讨论】:

  • 这是一个很棒的插件和一个很好的答案。 @bymem 请参阅此demo 以获取 serializeJSON,它可以按您的意愿工作。我只需要重命名对象即可满足您的要求。
  • 这对我有帮助,我使用了另一个插件。他们做同样的事情。非常感谢您的帮助。
【解决方案2】:

首先我会尝试使用 id 的 &lt;form class="testForm" method="POST" id="testForm"&gt;

然后使用:

var formData = JSON.stringify($("#testForm").serializeArray());

你会从你的表单中得到一个 json

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 2015-09-22
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 2022-12-15
    相关资源
    最近更新 更多