jQuery – добавить дополнительные параметры в submit (НЕ ajax)

Использование ‘submit’ jQuery – есть ли способ передать дополнительные параметры в форму? Я НЕ собираюсь делать это с помощью Ajax – это обычная, обновляемая форма представления формы.

$('#submit').click(function () { $('#event').submit(function () { data: { form['attendees'] = $('#attendance').sortable('toArray').toString(); }); }); 

Это сделало это для меня:

 var input = $("") .attr("type", "hidden") .attr("name", "mydata").val("bla"); $('#form1').append($(input)); 

основан на ответе Даффа, но добавил атрибут NAME, чтобы он отображался в коллекции форм и менял VALUE на VAL. Также проверял идентификатор FORM (form1 в моем случае)

использовал firebug Firefox, чтобы проверить, был ли этот элемент вставлен.

Скрытые элементы отправляются обратно в коллекцию форм, только поля только для чтения отбрасываются.

Мишель

В вашем случае достаточно просто добавить еще одно скрытое поле в вашу форму динамически.

 var input = $("").attr("type", "hidden").val("Bla"); $('#form').append($(input)); 

Вы даже можете использовать этот. хорошо работал для меня

 $("#registerform").attr("action", "register.php?btnsubmit=Save") $('#registerform').submit(); 

это отправит btnsubmit = Сохранить как значение GET в register.php.

Вы можете написать функцию jQuery, которая позволила бы добавить скрытые поля в форму:

 // This must be applied to a form (or an object inside a form). jQuery.fn.addHidden = function (name, value) { return this.each(function () { var input = $("").attr("type", "hidden").attr("name", name).val(value); $(this).append($(input)); }); }; 

Затем добавьте скрытое поле перед отправкой:

 var frm = $("#form").addHidden('SaveAndReturn', 'Save and Return') .submit(); 

Вам не нужно связывать событие отправки нажатием кнопки «Отправить», просто привяжите событие отправки, и оно будет захватывать событие отправки, если не будет вызвано.

Подумайте, что вы хотите, это отправить сортировку, как вы, используя ajax. Попробуйте сделать что-то вроде этого:

 var form = $('#event').submit(function () { $.each($('#attendance').sortable('toArray'),function(i, value){ $("").attr({ 'type':'hidden', 'name':'attendace['+i+']' }).val(value).appendTo(form); }); }); 

Подобный ответ, но я просто хотел сделать его доступным для легкого / быстрого теста.

 var input = $("") .attr("name", "mydata").val("go Rafa!"); $('#easy_test').append(input); 
  
Давайте будем гением компьютера.