У меня есть форма и отправлять обработчик в jQuery.
Когда пользователь отправляет форму, я хочу изменить (добавляют) некоторые параметры к запросу POST, прежде чем это будет послано от клиента в сервер.
т.е.
В данный момент похоже, что мои единственные опции состоят в том, чтобы использовать $.post()
, или $('form').append('<input type="hidden" name=... value=...');
Спасибо за любую справку.
Править: Я уже присоединил отправлять обработчик к форме; я пытаюсь отредактировать сообщение Вар, промежуточный пользователь, нажимающий кнопку отправки и запрос, отправленный к серверу.
Используйте функцию submit ()
в форме для создания обратного вызова. Если функция вернет истину, форма будет отправлена; если false, форма не будет опубликована.
$('#theForm').submit(function() {
$("#field1").val(newValue1);
$("#field2").val(newValue2);
$(this).append(newFormField);
return true;
});
и т. Д.
Вы можете перехватить событие нажатия кнопки отправки и выполнить там свою обработку. Для пар "ключ-значение" вы можете попробовать скрытый элемент формы.
Прикрепите к форме обработчик submit ().
$('form#myForm').submit(myPostHandlingFunction);
Затем отправьте / сделайте сообщение из вашей функции. Самым простым было бы просто заполнить пару скрытых полей ввода в форме, а затем вернуть true, чтобы разрешить отправку, если все выглядит правильно.
Я не думаю, что вы можете изменить переменные POST таким образом. Когда запускается обработчик отправки, у реально существующих данных формы нет хэша, который можно было бы добавить или изменить. Я думаю, что вы правы - ваши единственные варианты для $ .post () самостоятельно (что я бы рекомендовать) или для добавления скрытых входных данных в форму (есть накладные расходы на модификацию DOM, которые вам действительно не нужны).