Я хочу запустить вызов ajax при нажатии кнопки отправки. И в то же время я просто хочу скрыть кнопку отправки и показать изображение gif до завершения ajax. Но кнопка отправки занимает некоторое время, чтобы скрыть после ее нажатия. Я не знаю, но почему ???Скрыть() и показать() методы jQuery не работают достаточно быстро
function exemptProductAjaxCall() {
$("#delistSubmit").hide("fast");
$("#edit-icon").show("fast");
var days, pId, remarks;
days = $("#exemptDays").val();
pId = $('#exempPid').val();
remarks = $("#remarks").val();
pIdParam = [pId];
$.ajax({
type: "POST",
url: "abc.php",
cache: false,
async: false,
data: {dispatch: 'myphp.pidExempt', pIds: pIdParam, exemptDays: days, remarks: remarks, callAjax: 1},
error: function (data, textStatus, jqXHR)
{
//error msg
var err = eval("(" + data.responseText + ")");
alert('Ajax Error: ' + err.Message);
}
}).done(function (msg) {
var resPonse = JSON.parse(msg);
if (resPonse['success'] == 1)
{
alert('Success: ' + resPonse['message']);
$("#exemptDays").val(1);
$('#exempPid').val('');
$("#remarks").val('');
} else
{
if (typeof resPonse['message'] === 'undefined')
alert('Error: Unknown Error');
else
alert('Error: ' + resPonse['message']);
}
});
$("#edit-icon").hide();
$("#delistSubmit").show();
}
<input type="button" id="delistSubmit" value="Submit" onClick="exemptProductAjaxCall();" style="padding-bottom: 41px;">
<img id="edit-icon" style="-webkit-user-select:none;height:36px;width:36px;float:left;margin-right:40px;display:none;" src="banners/ajax-load-black.gif">
Что произойдет, если вы удалите все из excemptProductAjaxCall(), кроме $ ("# delistSubmit"). Hide ("fast"); и $ ("# edit-icon"). show ("fast")? все еще медленно? –