我有三种形式并使用此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中的所有其他默认值。
谢谢。
答案 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代码加载