之前没有遇到过ajax。点击一个按钮,我发布了一个带有ajax的表单。在成功的返回函数中,我在bootstrap 3中打开一个模态窗口,并在前一个表单提交中附加了一个参数。
我使用模态作为确认窗口来确认用户删除。我再次使用ajax然后在模式中实际删除数据库中的用户并返回成功或失败。
由于所有操作都在实际模态的ajax中处理(确认用户名存在然后执行删除操作)...有没有办法可以跳过初始表单处理?在这个示例中,除了允许我返回并将username参数附加到我打开的模态之外,p_delete_user.php'
确实没有任何其他功能。
我可以以某种方式跳过此步骤,并使用附加的参数值直接进入我的成功调用。我无需在此步骤中检查参数是否有效,因为验证发生在打开的模态的ajax中。
我的ajax:
// delete user account
var deleteAccount = function() {
$('#delete-user').on('click', function () {
var $form = $(this).closest('form');
$.ajax({
type: 'post',
url: '/spc_admin/process/p_delete_user.php',
data: $form.serialize(),
dataType : 'json'
}).done(function (response) {
if (response.success) {
// user account exists so show confirmation modal
$('#modal-ajax').load('/spc_admin/modals/m_delete_user.php?username='+response.username+'');
$('#modal-ajax').modal('show');
}
else
{
// show error toast
toastr.error('An error has occurred. Please contact support.', 'Error');
}
});
});
}
答案 0 :(得分:1)
使用Javascript从表单中获取用户名,并将其直接放入模式中:
var deleteAccount = function() {
$('#delete-user').on('click', function () {
var username = $(this).closest('form').find("input[name=username]").val();
$('#modal-ajax').load('/spc_admin/modals/m_delete_user.php?username='+encodeURIComponent(username));
$('#modal-ajax').modal('show');
});
}