在jQuery ajax回调函数中维护函数顺序

时间:2010-01-07 22:55:54

标签: javascript jquery ajax

我有一个jQuery ajax函数。回调函数包含两个函数:

1)获取ajax结果(这是一个html表单)并将其作为html span的内部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 个答案:

答案 0 :(得分:1)

只需简单地设置获取ajax结果的函数并插入前面的DOM和后面的表单提交功能。

只有在插入完成后,才会调用下一个函数。

示例:

$.ajax({
   type: "POST",
   url: "backend.php",
   data: "name=John",
   dataType: "json"
   success: function(msg){
     $("#thediv").html(msg.html);
     $("form#theform").submit();
   }
 });

答案 1 :(得分:0)

DOM操作是同步的,因此表单之前不会提交。您是否遇到此方案的特定问题?如果是这样,请发布大量代码:)