Как я могу отправить / отправить форму с помощью Jquery? - PullRequest
0 голосов
/ 18 февраля 2010

С Этот ответ и тот факт, что я могу использовать анти-шаблон Я подумал, что должен изменить вызов ajax на поведение, подобное отправке формы.Я нашел $. Post , но, похоже, это делает ajax и не меняет страницу, на которой я нахожусь.

Как мне отправить форму с помощью jquery или простого JS?

Ответы [ 3 ]

9 голосов
/ 18 февраля 2010

Это так же просто, как вызов метода $.submit() в самой форме:

$("#formID").submit(); // jQuery
document.getElementById("formID").submit(); // Javascript

Или, если вы используете только атрибут name:

$("form[name='formName']").submit(); // jQuery
document.formName.submit(); // Javascript

Если вы заинтересованы в перенаправлении страницы только после отправки данных, вы можете сделать это с помощью обратного вызова $.post():

$.post("process.php", { 'foo':$(".bar").val() }, function(result) {
  window.location = "thanks.php";
});

Обновление:

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

var myForm = $("<form>")
               .attr({'method':'post','action':'process.php'})
               .appendTo("<body>");

А затем добавьте ваши данные:

$("<input>")
  .attr({'type':'hidden','name':'firstname'})
  .val("Jonathan")
  .appendTo(myForm);

А позже, когда вы будете готовы, отправьте:

$(myForm).submit();
0 голосов
/ 18 февраля 2010

Вы также можете сделать это асинхронно

var params = { 'key1' : 'value1' , 'key2' : 'value2' };
$.post( '/site/resource/' , params , function(ret) { alert(ret) } );
0 голосов
/ 18 февраля 2010

Если вы можете представить как получить, вы можете попробовать такой JavaScript, как это:

window.location = 'http:/host/path?param=value&param=value&param=value'

Вы можете даже создать строку на лету из всех ваших данных, разбросанных в DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...