Настройка представления значения в jQuery submit

Я хочу использовать jQuery для отправки моей формы, и я могу сделать это так

  $('#myform_id').submit();

и все это хорошо, но обычно кто-то нажимает кнопку отправки, чем кнопка отправки, имеет значение, поэтому, когда я отправляю через jQuery, мне также нужно установить значение представления, как я это делаю?

ИЗМЕНИТЬ

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

в конечном счете submit, используя форму ajax

** Уточнение **

ok, поэтому у меня есть настройка jQuery для использования проверки jquery и у меня есть обработчик отправки

$("#myform_id").validate({
    submitHandler: function() {
        run_ajax(obj);
    }
});

то, что вызывает функцию I, я вызываю run_ajax pass и объект, содержащий информацию о том, какой тип ajax я хочу и что у вас есть.

и в конечном итоге запускает этот

obj.formitem.ajaxSubmit({
    dataType:'json',
    data: obj.pdata,
});

где

  obj.formitem == $('#myform_id');

поэтому, когда форма отправляет все, что происходит, все хорошо.

поэтому я загружаю страницу с этой формой в диалог jquery, и я хочу, чтобы они могли щелкнуть по кнопке в диалоговом окне, которое запускает форму отправки, а также сообщает форме, какой тип отправки был запрошен.

надеюсь, теперь это ясно извините за путаницу

Ответы

Ответ 1

Одним быстрым способом будет $('#myform_id #submitButtonID').click();

Ответ 2

fooobar.com/questions/105307/... работал у меня

Хорошо, я сделал это так:

$('<input />').attr('type', 'hidden')
              .attr('name', 'myButton')
              .attr('value', 'MyButton')
              .appendTo('#my-form');
$('#my-form').submit();

Ответ 3

.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 is true и отправьте с помощью $.post().

Обычный ajax довольно прост.

Несколько причин, почему я думаю, что вы, вероятно, используете iframe для отправки формы:
1). Это должно быть сделано таким образом (некоторые неизменные требования).
2). Вы хотите загрузить некоторые файлы с помощью ajax.

Ссылка: Ограничения JS iframe.

Не уверен, что это поможет, но, если вы это выясните, отправьте ответ, чтобы сообщить нам, как вы позаботились об этом.

Ответ 4

   $('#myform').submit(function(event){
      /* stop form from submitting normally */
      event.preventDefault();

      // get form data and include value from submit button
      var post_data = form.serializeArray();
      post_data.push({name: event.originalEvent.explicitOriginalTarget.name,
                      value: event.originalEvent.explicitOriginalTarget.value
                     });

      // ...
   }

Ответ 5

Значение отправки просто передается как параметр. Поэтому, если у вас есть:

<input type="submit" name="mysubmit" value="click"/>

тогда запрос будет содержать параметр запроса mysubmit = click.

Поэтому просто добавьте скрытый тип ввода, например:

<input type="hidden" name="mysubmit" value="click"/>

Ответ 6

Вы можете добавить кнопку Submit в свою форму и эмулировать щелчок по кнопке. Разве это не решение вашей цели.

Ответ 7

Это должно сделать трюк:

$('#form_id #submitbutton_id').val('your value');