Есть форма. При нажатии на кнопку формы я должен подставить еще одно поле со значением json-объекта для отправки. И отправить эту форму как обычную форму, чтобы меня перенаправило на страницу указанную в <form action=""> Через ajax сделать не получается, т.к. в таком случае ответ возвращается на эту же страницу, где я сейчас и нахожусь
а json уже есть на странице? --- Добавлено --- Или я не совсем понял задачу. Объясни поподробнее. Что ты там хочешь добавить, откуда. Можешь даже форму показать и куда что добавляться должно. Задачка в принципе простенькая
Да, json на странице. При клике на кнопку я вытаскиваю значение data-id, потом вытаскиваю из своего json-массива нужный мне элемент, который определяется по id нажатой кнопки. И этот json-элемент я должен отправить на сервер.
ага. тогда всё просто. На кнопку отправки вешаешь функцию, которая сначала подставляет данные, а потом вызывает событие submit у формы
я так и хотел. Но я не могу подставить данные в <input type="hidden">, т.к. мне нужно подставить туда json-объект, а не просто строку
Попробовал подставить в hidden-поле не свой объект, а json-строку. Вот что из этого вышло Код (Javascript): <script> var result = <?=$results?>; $('.buy').on('click', function (e) { e.preventDefault(); var id = $(this).data('id'); var data = result[id]; $(this).parents('form').children('[name=json]').val(JSON.stringify(data)); $(this).parents('form').submit(); return false; }); </script> Почти работает. Проблема только, что отправляется не на тот action запрос почему-то. Но это уже к теме вопроса наверное не относится