在form.submit()时加载gif
Loading gif while form.submit()
我在按钮class="submit"
上有这个JS:
$( ".submit" ).click(function( event ) {
if(some checks){
...
}else{
$("#importForm").submit(function(event){
alert("Submitted");
});
}
});
但表单永远不会提交,警报也不会弹出。如果我放弃:
function(event){
alert("Submitted");
}
它运作良好。知道吗?
编辑:
实际上,我想做的是在提交表单时显示加载gif,就像我在另一个视图中对load()
所做的那样:
$("body").load(url, function(){
$('#LoadingGif').empty();
});
$('#LoadingGif').empty().html('<img src="/assets/image/loader.gif" width=31 height=31 alt="Loading image" />');
这段代码:
$("#importForm").submit(function(event){
alert("Submitted");
});
向元素添加一个事件侦听器(大概是一个<form>
),但不调用它。因此,如果.submit
不是表单中的按钮,则应将其更改为:
$( ".submit" ).click(function( event ) {
if(some checks){
...
}else{
$("#importForm").submit(function(event){ // add event listener
alert("Submitted");
}).submit(); // actually submit the form
}
});
http://jsfiddle.net/2yz6a9L5/1/
编辑答案 :您必须使用 AJAX 发送表单数据,因为以标准方式提交表单会产生新请求,因此当前页面卸载并且浏览器等待来自服务器的响应,这意味着没有地方显示 gif。
您可以使用此代码
$(document).ready(function(){
$('form#you_form_id').submit(function(){
$('div#wait_overlay').show();
});
});
Overleydiv 代码将是:
<div id="wait_overlay" style="opacity: 0.5; height: 100%; width: 100%; position: fixed; left: 0px; top: 0px; z-index: 1001;">
<img src="/assets/image/loader.gif" width=31 height=31 alt="Loading image" />
</div>
将div#wait_overlay 放在开头的正文标签之后。
相关文章:
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- Ajax 加载 GIF 不会在成功时删除
- 加载 gif 图像未显示在 IE 和镶边中
- 单击时重播 GIF 动画/重新加载 GIF
- 是否可以在页面开始加载之前显示加载gif/image
- 网站在php中加载gif
- 在页面加载时重新加载gif图像
- Javascript使用加载gif的最简单/最优雅的方式
- 只想在页面上未加载初始数据时显示加载gif
- 鼠标离开后强制重新加载gif
- 动画加载gif与iframes加载
- 使用 AJAX 加载其他页面时加载 GIF 图像
- 导航时加载 GIF 图像
- 如何在页面加载时异步加载图像并在加载时显示加载 GIF
- 在 AJAX 完成时加载 GIF
- 如何在请求进入 Ajax 时显示加载 gif
- 显示加载.gif同时使用 jQuery 上传文件
- Javascript - 加载GIF冻结,同时将图像绘制到画布(Phonegap/Cordova)
- JavaScript 在 Iframe 加载时显示加载 gif
- 继续加载.gif在操作 DOM 时进行动画处理