ajax成功响应加载到div

时间:2009-09-16 12:33:26

标签: javascript jquery

我有三种形式并使用此jquery函数

$('form').submit(function() {
    $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        data: $(this).serialize(),
        success: function(response) {
            $('#setInfo').fadeOut('500').empty().fadeIn('500').append(response);
        }
    });
        return false;
    });

提交表格数据,但是通过这个功能,我坚持在一个特定的div上加载响应。

我发送的数据始终包含操作=电子邮件操作=设置等,具体取决于表单。

那么我如何使用它来加载另一个div中的设置响应和另一个div中的电子邮件以及当前div中的所有其他默认值。

谢谢。

2 个答案:

答案 0 :(得分:0)

在通过AJAX提交请求之前,您可以使用javascript变量捕获预期目标,然后使用该变量的内容来确定在请求返回时填充的DIV。

$('form').submit(function() {
    var target = $('#action').val();
    $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        data: $(this).serialize(),
        success: function(response) {
            var div = $('#setInfo');
            if (target == 'settings') {
               div = $('#settings');
            }
            else if (target == 'email') {
               div = $('#email');
            }
            div.fadeOut('500').html(response).fadeIn('500');
        }
    });
        return false;
});

注意我也改变它以在回复之前用响应设置HTML以避免它“闪烁”的可能性。

答案 1 :(得分:0)

添加了目标ID

var target = $(this).find('#target').val();

后来使用tvanfossons代码加载