我一直在寻找解决方案一段时间,但找不到我要找的东西。
我正在尝试使用ajax使用 Formdata 上传图像文件,文件选择器(输入类型文件)位于bootstrap模式中。现在在成功内部回调,我想关闭模式,具体取决于我从服务器获得的响应。
目前我正在使用$("#add-slide-modal").modal('hide');
,但它无效。
我正在寻找它不起作用的原因,this帖子中提到了一些内容,但我完全无法理解它,我尝试使用that帖子中的解决方案但我想根据服务器的响应决定是否关闭模式。
这是我的代码:
form.onsubmit = function(event) {
event.preventDefault();
var valid = $("#add-slide-form").validationEngine('validate');
if(valid) {
var targeted_modal = $("#add-slide-modal");
var parent = targeted_modal.find('.modal-body');
// Update button text.
uploadButton.innerHTML = 'Saving...';
uploadButton.disabled = true;
var request_url = ""; var add_request_flag = false;
var formData = get_formData();
if(targeted_modal.find("#add_or_update").val() == 'update') {
//update existing slide
request_url = ADMIN_BASE + "update-slide";
formData.append('slide_id', targeted_modal.find('#slide_id').val());
} else {
//add new slide
request_url = ADMIN_BASE + "add-slide";
add_request_flag = true;
}
if(formData && request_url.length) {
$.ajax({
url: request_url,
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (response) {
show_ajax_response(response, parent);
if(response.status == 1) {
uploadButton.innerHTML = "Saved";
if(add_request_flag) {
clear_modal_fields(targeted_modal);
} else {
update_client_side(response.slide);
}
uploadButton.disabled = false;
} else {
uploadButton.innerHTML = "Save";
uploadButton.disabled = false;
}
targeted_modal.modal('hide');
}
});
}
}
}