Я хочу использовать jQuery для отправки моей формы, и я могу сделать это так
$('#myform_id').submit();
, и это все хорошо, но обычно кто-то нажимает кнопку отправки, чем эта кнопка отправки имеет значение, поэтому, когда я делаю отправку через jQuery, мне также нужно установить значение отправки, как мне это сделать?
РЕДАКТИРОВАТЬ
, как отмечалось в некоторых ответах, я мог сделать это имитируя щелчок пользователя, но я не хочу этого делать, я хочу передать значение submit при использовании.
, поэтому я загружаю страницу с этой формой в диалоговое окно jquery и хочу, чтобы они могли нажимать кнопку в диалоговом окне, которая вызывает отправку формы, а также сообщает форме, какой тип отправки был запрошен
, надеюсь, это очистить сейчас извините за путаницу
Один из быстрых способов - $ ('# myform_id #submitButtonID'). Click ();
Значение отправки просто передается как параметр. Итак, если у вас есть:
<input type="submit" name="mysubmit" value="click"/>
, тогда запрос будет содержать параметр запроса mysubmit = click.
Просто добавьте скрытый тип ввода, например:
<input type="hidden" name="mysubmit" value="click"/>
.submit ()
предоставит вам традиционную отправку, которая выполняется POST / GET при обновлении страницы.
Для ajax вам нужно будет использовать $ .post, $ .get или $ .ajax - например:
var aaa = $("#your_form").serialize();
$.post("your_url",aaa,function(response){/*do something*/},"json");
Что касается нажатия кнопок, если у вас есть несколько кнопок, которые могут отправлять одну форму . Вы можете использовать скрытые поля как часть формы. Перед отправкой формы измените скрытое поле в соответствии с нажатой кнопкой.
$(".submit_buttons").click(function(){
$("#my_hidden_input").val($(this).attr("rel"));
/*
above serialize and ajax post code
*/
});
HTML:
<input type="button" class="submit_buttons" rel="special_button1" value="Button 1"/>
<input type="hidden" id="my_hidden_input" />
Когда я использую этот подключаемый модуль проверки, я поступаю именно так.
$("#right_form").validate(); //To add validation to the form
validate9 = $("#right_form").validate().form(); //Check if the form validates
Затем используйте if
, чтобы проверить, что validate9 имеет значение true
, и отправьте с помощью $. Post ()
.
Обычный ajax довольно прост.
Несколько причин, по которым я думаю, вы, вероятно, используете iframe для отправки формы:
1 ) Это должно быть сделано таким образом (некоторые неизменные требования).
2 ) Вы хотите загрузить файлы с помощью ajax.
Ссылка: Ограничения iframe для JS.
Не уверен, поможет ли это, но, если вы в этом разобрались, отправьте ответ, чтобы сообщить нам, как вы с этим справились.
Вы можете добавить кнопку Отправить
в форму и имитировать нажатие на кнопку. Разве это не решает твою цель.
Это должно помочь:
$('#form_id #submitbutton_id').val('your value');