$('form[name=addform]').submit(function() {
if(error == true){
return false;
}else{
$('#loading').empty();
$('#loading').append("<img src = './images/ajax-loader.gif'/>");
$('#loading').show();
setTimeout(function(){
return true;
}, 4000);
}
error = false;
});
我需要在执行返回true之前加载gif图像。我请不要使用ajax请帮助
答案 0 :(得分:3)
我不确定你要完成什么,但该代码不起作用。 setTimeout()
不会暂停调用它的函数,回调中的return
语句也不会影响它。
答案 1 :(得分:0)
JavaScript是asynchronous,不是同步的 - setTimeout
不会“阻止”下一行代码的执行。 (参见相关的What is the difference between synchronous and asynchronous programming (in node.js))
要在延迟后提交表单(出于何种目的不清楚),您首先需要停止表单提交(通过取消事件),然后在执行setTimeout
回调时再次提交表单。< / p>
$('form').on('submit', function(event) {
// Prevent the form from submitting
event.preventDefault();
// 'this' is referring to the event target
var form = this;
// It may not be required to wrap the `form.submit` method but it's usually safer to do so
setTimeout(function() {
form.submit()
}, 4000);
});
的示例