За последние 24 часа нас посетил 15621 программист и 1557 роботов. Сейчас ищут 833 программиста ...

ajaxSubmit для формы

Тема в разделе "PHP для новичков", создана пользователем Максат, 27 мар 2017.

  1. Максат

    Максат Новичок

    С нами с:
    27 мар 2017
    Сообщения:
    6
    Симпатии:
    1
    Есть форма.
    При нажатии на кнопку формы я должен подставить еще одно поле со значением json-объекта для отправки. И отправить эту форму как обычную форму, чтобы меня перенаправило на страницу указанную в <form action="">
    Через ajax сделать не получается, т.к. в таком случае ответ возвращается на эту же страницу, где я сейчас и нахожусь
     
  2. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    а json уже есть на странице?
    --- Добавлено ---
    Или я не совсем понял задачу. Объясни поподробнее. Что ты там хочешь добавить, откуда. Можешь даже форму показать и куда что добавляться должно. Задачка в принципе простенькая
     
  3. Максат

    Максат Новичок

    С нами с:
    27 мар 2017
    Сообщения:
    6
    Симпатии:
    1
    Да, json на странице.
    При клике на кнопку я вытаскиваю значение data-id, потом вытаскиваю из своего json-массива нужный мне элемент, который определяется по id нажатой кнопки. И этот json-элемент я должен отправить на сервер.
     
  4. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    ага. тогда всё просто. На кнопку отправки вешаешь функцию, которая сначала подставляет данные, а потом вызывает событие submit у формы
     
  5. Максат

    Максат Новичок

    С нами с:
    27 мар 2017
    Сообщения:
    6
    Симпатии:
    1
    я так и хотел. Но я не могу подставить данные в <input type="hidden">, т.к. мне нужно подставить туда json-объект, а не просто строку
     
  6. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    @Максат, нук покажи, как ты делаешь
     
  7. Максат

    Максат Новичок

    С нами с:
    27 мар 2017
    Сообщения:
    6
    Симпатии:
    1
    Попробовал подставить в hidden-поле не свой объект, а json-строку. Вот что из этого вышло
    Код (Javascript):
    1. <script>
    2.     var result = <?=$results?>;
    3.     $('.buy').on('click', function (e) {
    4.         e.preventDefault();
    5.         var id = $(this).data('id');
    6.         var data = result[id];
    7.  
    8.         $(this).parents('form').children('[name=json]').val(JSON.stringify(data));
    9.         $(this).parents('form').submit();
    10.  
    11.         return false;
    12.     });
    13. </script>
    Почти работает. Проблема только, что отправляется не на тот action запрос почему-то. Но это уже к теме вопроса наверное не относится
     
    #7 Максат, 27 мар 2017
    Последнее редактирование модератором: 27 мар 2017
  8. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    а в чём разница? просто на другую страницу отправляет? Может срабатывает обработчик от другой формы?
     
  9. Максат

    Максат Новичок

    С нами с:
    27 мар 2017
    Сообщения:
    6
    Симпатии:
    1
    Мне надо сначала вставить нужные данные в свою форму, а потом делать submit этой формы
     
  10. acho

    acho Активный пользователь

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    ну, а получается как? В чём твой код выше неправильно отрабатывает?