Измените POST Вар перед сообщением, с помощью jQuery

У меня есть форма и отправлять обработчик в jQuery.

Когда пользователь отправляет форму, я хочу изменить (добавляют) некоторые параметры к запросу POST, прежде чем это будет послано от клиента в сервер.

т.е.

  1. Пользовательские щелчки 'отправляют'
  2. Мой jQuery утверждает, что hander начинает выполнение...
  3. Я создаю некоторые новые пары ключ/значение и добавляю их к полезной нагрузке POST

В данный момент похоже, что мои единственные опции состоят в том, чтобы использовать $.post(), или $('form').append('<input type="hidden" name=... value=...');

Спасибо за любую справку.

Править: Я уже присоединил отправлять обработчик к форме; я пытаюсь отредактировать сообщение Вар, промежуточный пользователь, нажимающий кнопку отправки и запрос, отправленный к серверу.

42
задан aidan 20 April 2010 в 16:28
поделиться

4 ответа

Используйте функцию submit () в форме для создания обратного вызова. Если функция вернет истину, форма будет отправлена; если false, форма не будет опубликована.

$('#theForm').submit(function() {
    $("#field1").val(newValue1);
    $("#field2").val(newValue2);
    $(this).append(newFormField);
    return true;
});

и т. Д.

46
ответ дан 26 November 2019 в 23:46
поделиться

Вы можете перехватить событие нажатия кнопки отправки и выполнить там свою обработку. Для пар "ключ-значение" вы можете попробовать скрытый элемент формы.

0
ответ дан 26 November 2019 в 23:46
поделиться

Прикрепите к форме обработчик submit ().

$('form#myForm').submit(myPostHandlingFunction);

Затем отправьте / сделайте сообщение из вашей функции. Самым простым было бы просто заполнить пару скрытых полей ввода в форме, а затем вернуть true, чтобы разрешить отправку, если все выглядит правильно.

2
ответ дан 26 November 2019 в 23:46
поделиться

Я не думаю, что вы можете изменить переменные POST таким образом. Когда запускается обработчик отправки, у реально существующих данных формы нет хэша, который можно было бы добавить или изменить. Я думаю, что вы правы - ваши единственные варианты для $ .post () самостоятельно (что я бы рекомендовать) или для добавления скрытых входных данных в форму (есть накладные расходы на модификацию DOM, которые вам действительно не нужны).

3
ответ дан 26 November 2019 в 23:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: