异步提交2个表单

时间:2013-02-27 14:46:59

标签: jquery ajax forms asynchronous

我想通过一次点击提交2个表单。它甚至看起来两个表单都被提交,但是对第二个表单的调用(来自第一个表单帖子的回调)没有任何实际结果。 这是javascript: 注:第一个函数在recruitment_module

this.submit_form = function()
{
  if( check_field_input())
    {                   
    var fname = $('#rec_first_name').val();
    var lname = $('#rec_last_name').val();
    var usr_email = $('#rec_email').val();
    var id = $('input[name="params_id"]').val();
    var x_id = $('input[name="XID"]').val();
    var url = $('#recruitment').attr('action');
    var mainformUrl = $('#recruitmentform').attr('action');

    var poster = $.post( url, {params_id: id, XID: x_id, firstname: fname, lastname: lname,  email: usr_email},
      function(response){
        if (response.success == true) {
            $.post( mainformUrl, $('form#recruitmentform').serialize());
            return true;
            //$('form#recruitmentform').submit();
            } else {
              alert("Error: " + response.errors[0]);
            }
        });
    }
} 

$(document).ready(function () { 
        var rec_mod = new recruitment_module();
        $('#submit_btn').click( function() { return rec_mod.submit_form(); });
    });

在调试脚本时,我可以看到它确实通过使用序列化函数发布第二个表单的调用,但页面未发布。 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

如果没有我们可以检查和修改的可运行代码,我们无法真正调试它。以下是调试此类内容的步骤:

  1. 确保mainformUrl与您的网页位于同一个域中,这样您就不会受到同源安全限制的阻止。
  2. 检查错误控制台或调试控制台是否有任何错误。
  3. 在ajax调用中添加成功处理程序和错误处理程序,并查看调用的内容及其内容。