Показать сообщение отдельно
  #10 (permalink)  
Старый 02.06.2015, 09:00
Аспирант
Отправить личное сообщение для Dtri Посмотреть профиль Найти все сообщения от Dtri
 
Регистрация: 14.12.2014
Сообщений: 86

Сообщение от laimas Посмотреть сообщение
Так вам все таки форму нужно серриализовать, а не объект имеющийся, зачем же тогда JSON.stringify.

А чтобы получилось так:

"bublik": [1,3],
"bublik2":2

нужно колдовать не с html структурой формы, а соответственно именовать ее поля. Одно и тоже имя нельзя задавать полям, иначе сервер получит значение последнего из этих полей (массив не может иметь дубликаты ключей).
<form action="json.txt">
            <input type="text" name="bublik[]" value="1">
            <input type="text" name="bublik2" value="2">
            <input type="text" name="bublik[]" value="3">
        </form>

Это все что нужно сделать.
из вашего примера не выходит такой вид:


"bublik": [1,3],
"bublik2":2


вот что получается:

[{"name":"bublik[]","value":"1"},{"name":"bublik2","value":"2"},{"na me":"bublik[]","value":"3"}]


<head lang="en">
        <meta charset="UTF-8">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <title></title>
    </head>
    <body>


        <form action="json.txt">
            <input type="text" name="bublik[]" value="1">
            <input type="text" name="bublik2" value="2">
            <input type="text" name="bublik[]" value="3">
        </form>
        <button type="submit" class="a_submit">Submit</button>
        <div class="wrapper"></div>
        <script>
            $('.a_submit').on('click', function (form) {
                form.preventDefault();
                $('.wrapper').html(JSON.stringify($(this).prev('form').serializeArray()));
            });
        </script>
    </body>

Последний раз редактировалось Dtri, 02.06.2015 в 09:22.
Ответить с цитированием