поддерживать порядок функций в функции обратного вызова jQuery ajax - PullRequest
0 голосов
/ 08 января 2010

У меня есть функция jQuery ajax. функция обратного вызова состоит из двух функций:

1) Возьмите результат ajax (который является формой html) и вставьте его как внутренний html диапазона html. 2) Отправьте эту форму

Как я могу убедиться, что форма загружена до того, как JavaScript попытается ее отправить?

Код:

$("select").live("change", function(){
  FormUpdate();
})

function FormUpdate() {

  $.ajax({
  type: "POST",
  url: "index.php?UpdateForm=Yes",
  data: $("#Form").serialize(),
  success: function(msg){
    $("span#Content").html(msg);
    $("#Form").submit();
  }
  });

}

Моя проблема возникает из-за того, что javascript пытается отправить форму до ее загрузки, и мои данные отправлены.

Ответы [ 2 ]

1 голос
/ 08 января 2010

Просто поместите функцию получения результата AJAX и вставьте ее в DOM впереди, а функцию отправки формы - сзади.

Только после вставки будет вызвана следующая функция.

Пример:

$.ajax({
   type: "POST",
   url: "backend.php",
   data: "name=John",
   dataType: "json"
   success: function(msg){
     $("#thediv").html(msg.html);
     $("form#theform").submit();
   }
 });
0 голосов
/ 08 января 2010

манипуляции с DOM являются синхронными, поэтому форма не будет отправлена ​​до тех пор У вас есть конкретные проблемы с этим сценарием? Пожалуйста, отправьте тонны кода, если так:)

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