如何将表单元素值传递给ajax成功函数?

时间:2014-03-03 09:09:07

标签: javascript jquery ajax

我使用以下代码通过ajax提交了许多动态表单:

$(document).on('submit', 'form', function (e) {

    $.ajax({
        type: 'post',
        url: 'data/process.php',
        data: $(this).serialize(), // <----"this" is current form context
        success: function () {
            gaddress();
        },
        error: function (xhr) { //<----error function

            gerroraddress(xhr);

        }
    });
    e.preventDefault();
});

代码效果很好,但问题是我希望能够提供如下的动态响应:

function gaddress(form) {
    if (form = "addressform") {
        var msg = "Address form updated successfully.";
        jQuery.jGrowl(msg, {
            life: 10000,
            position: 'center'
        });
        vaddress();
    }
}

这样,我会根据提交的表单在成功提交表单后提供适当的回复和重定向。

如何获取提交的表单名称或其中一个表单元素的名称,以便将其作为参数传递给我的成功函数:gaddress()

此外,我需要在处理表单时显示加载栏,并在成功完成后退出加载栏。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

$(document).on('submit', 'form', function (e) {
var form = $(this).attr("id"); //Or any attribute here
$.ajax({
  type: 'post',
  url: 'data/process.php',
  data: $(this).serialize(), // <----"this" is current form context
  success: function () {
     gaddress(form);
  },
  error: function (xhr) { //<----error function

      gerroraddress(xhr);

  }
});