Отправить форму, используя jQuery - PullRequest
438 голосов
/ 29 июля 2009

Я хочу отправить форму, используя jQuery. Может ли кто-нибудь предоставить код, пример или ссылку на пример?

Ответы [ 22 ]

8 голосов
/ 29 июля 2009

Вы также можете использовать плагин формы jquery для отправки с использованием ajax:

http://malsup.com/jquery/form/

7 голосов
/ 16 ноября 2012

Обратите внимание, что в Internet Explorer есть проблемы с динамически создаваемыми формами. Форма, созданная таким образом, не будет отправлена ​​в IE (9):

var form = $('<form method="post" action="/test/Delete/">' +
             '<input type="hidden" name="id" value="' + myid + '"></form>');
$(form).submit();

Чтобы заставить его работать в IE, создайте элемент формы и прикрепите его перед отправкой следующим образом:

var form = document.createElement("form");
$(form).attr("action", "/test/Delete")
       .attr("method", "post");
$(form).html('<input type="hidden" name="id" value="' + myid + '" />');
document.body.appendChild(form);
$(form).submit();
document.body.removeChild(form);

Создание формы, как в примере 1, и последующее ее присоединение не будут работать - в IE9 выдается ошибка JScript DOM Exception: HIERARCHY_REQUEST_ERR (3)

Реквизит Томми W @ https://stackoverflow.com/a/6694054/694325

7 голосов
/ 26 апреля 2013

Решения до сих пор требуют, чтобы вы знали идентификатор формы.

Используйте этот код для отправки формы без необходимости знать ID:

function handleForm(field) {
    $(field).closest("form").submit();
}

Например, если вы хотите обработать событие нажатия кнопки, вы можете использовать

$("#buttonID").click(function() {
    handleForm(this);    
});
7 голосов
/ 26 сентября 2011
jQuery("a[id=atag]").click( function(){

    jQuery('#form-id').submit();      

            **OR**

    jQuery(this).parents("#form-id").submit();
});
6 голосов
/ 15 июля 2016

Если кнопка расположена между тегами формы, я предпочитаю эту версию:

$('.my-button').click(function (event) {
    var $target = $( event.target );
    $target.closest("form").submit();
});
4 голосов
/ 21 июня 2013

вы можете использовать это так:

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

OR

document.formName.submit();
4 голосов
/ 25 апреля 2013

IE трюк для динамических форм:

$('#someform').find('input,select,textarea').serialize();
3 голосов
/ 22 февраля 2017

Мой подход немного отличается Измените кнопку на кнопку отправки и затем нажмите

$("#submit").click(function(event) {
$(this).attr('type','submit');
$(this).click();
});
2 голосов
/ 22 июня 2011
function  form_submit(form_id,filename){
    $.post(filename,$("#"+form_id).serialize(), function(data){
        alert(data);
    });
}

Он отправит данные формы на ваше имя файла через AJAX.

1 голос
/ 14 ноября 2011

вы можете сделать это так:

$('#myform').bind('submit', function(){ ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...