javascript - 当输入字段名称位于 jquery 数组中时序列化表单

标签 javascript php jquery

我有一个表单,其中的输入类似于

<input type="text" value="" name="fieldval[3][4][]" >

现在,当我使用 jquery 序列化此表单时,我得到这样的结果

app_id=1&app_id=2&app_id=3&fieldval%5B2%5D%5B2%5D%5B%5D=1&fieldval%5B2%5D%5B2%5D%5B%5D=day&fieldval%5B3%5D%5B4%5D%5B%5D=23&fieldval%5B1%5D%5B1%5D%5B%5D=1&fieldval%5B1%5D%5B1%5D%5B%5D=mb&fieldval%5B1%5D%5B3%5D%5B%5D=200&fieldval%5B1%5D%5B3%5D%5B%5D=mb

请告诉我如何从该类型输入字段中以正确的方式获取值的正确方法。

现在当我使用serializeArray时我得到像这样的数组

 Array
(
    [step_number] => 4
    [app_id] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [formdata] => Array
        (
            [0] => Array
                (
                    [name] => app_id[]
                    [value] => 1
                )

            [1] => Array
                (
                    [name] => app_id[]
                    [value] => 2
                )

            [2] => Array
                (
                    [name] => app_id[]
                    [value] => 3
                )

            [3] => Array
                (
                    [name] => fieldval[2][2][]
                    [value] => 1
                )

            [4] => Array
                (
                    [name] => fieldval[2][2][]
                    [value] => day
                )

            [5] => Array
                (
                    [name] => fieldval[3][4][]
                    [value] => 23
                )

            [6] => Array
                (
                    [name] => fieldval[1][1][]
                    [value] => 1
                )

            [7] => Array
                (
                    [name] => fieldval[1][1][]
                    [value] => mb
                )

            [8] => Array
                (
                    [name] => fieldval[1][3][]
                    [value] => 200
                )

            [9] => Array
                (
                    [name] => fieldval[1][3][]
                    [value] => mb
                )

            [10] => Array
                (
                    [name] => plan_type
                    [value] => free
                )

            [11] => Array
                (
                    [name] => price
                    [value] => 
                )

            [12] => Array
                (
                    [name] => sell_type
                    [value] => up
                )

        )

)

现在我想更改此数组格式,如下所示

Array

( [app_id] => 数组 ( [0] => 1 [1] => 2 [2] => 3 )

[fieldval] => Array
    (
        [2] => Array
            (
                [2] => Array
                    (
                        [0] => 1
                        [1] => day
                    )

            )

        [3] => Array
            (
                [4] => Array
                    (
                        [0] => 23
                    )

            )

        [1] => Array
            (
                [1] => Array
                    (
                        [0] => 1
                        [1] => mb
                    )

                [3] => Array
                    (
                        [0] => 200
                        [1] => mb
                    )

            )

    )

[plan_type] => free
[price] => 
[sell_type] => up

)

我该怎么做

最佳答案

使用带有这样 id 的表单标签。

<form id="my-form-name" method="POST" action="http://something.com/">
   <!-- Your fields here-->
   <input type="text" value="" name="fieldval[]" />
   <input type="text" value="" name="fieldval[]" />
</form>

在你的JS中

var data =$("#my-form-name").serializeArray();
console.log(data);

现在您有了一个包含输入数据的数组。

关于javascript - 当输入字段名称位于 jquery 数组中时序列化表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36441895/

相关文章:

javascript - 有没有办法用假计时器运行 Ember.Testing 验收测试?

php - 如何设计管理A组和B组之间交叉排名的Mysql表?

php - 自定义 session_handler 被 php7 破坏(session_set_save_handler)

javascript - 如何在javascript中检查图像是否为损坏图像

javascript - 为什么我从 jsonp 结果中得到相同的引用

javascript - 使用 css 或 jquery 的动态 iframe 高度

Javascript 正则表达式 - 字符串到 RegEx 对象

javascript - 为什么我的加法和减法不起作用?

php - 用 cakephp 保存相对值

jquery获取ul li标签内的值,但不想要某个标签