在前台怎么通过js实现表单提交后,判断该提交调用的Action方法是不是执行完成了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在前台怎么通过js实现表单提交后,判断该提交调用的Action方法是不是执行完成了相关的知识,希望对你有一定的参考价值。

我前台有一个导出word的按钮,点击后可以导出word。由于word文件比较大导出时间比较久,为了防止重复点击导出word按钮,我现在需要在前台写一个js判断。如果正在导出word就弹出窗口提示,否则可以继续导出这需要怎么实现啊!
但是我这样处理后flag总是会变成 flag = 0

var flag =0;
function expToWord(sign)
if(flag==1)
alert("文件正在导出中,请稍后再试!");
return false;

flag = 1;
var param = "?xxxxxx=ssss";
$("#form1").attr("action","exportpaperword.shtml"+param).trigger("submit");
flag = 0;

你想想你提交一下表单 一般都异步的瞬间完事 回来肯定又把值都重置了
这个东西我以前弄过一下 就是用户前面提交了一个 视频文件 服务器进行转码 然后提示进度给页面显示,最后我用的办法是 JAVA里做一个STATIC的全局变量 在转码的时候 把进度写进去
然后前台AJAX 定时去一个ACTION取值 和你这个应该差不多
只有进度是100的时候 按钮在变成可以操作状态
参考技术A 这种推荐用AJAX做,后台方法执行完毕后返回执行结果,然后调用回调(callback)方法,就能准确判断是否执行完毕,在调用AJAX的时候还能加入等待字样或者锁屏的代码,到执行完毕后在回调函数中解锁即可。 参考技术B submit只是表单提交时的验证事件,无法获取提交是否成功
return false阻止表单提交,自己写ajax提交表单内容
$("#xxx").submit(function ()
$.ajax( type: 'POST', data: $(this).val(), url: 'xxxx',
success: function () //...
,
error: function (xhr)
//...

);
return false;
);
参考技术C 是不是也可以用进度条,点击导出 后给一个导出的进度条。

以上是关于在前台怎么通过js实现表单提交后,判断该提交调用的Action方法是不是执行完成了的主要内容,如果未能解决你的问题,请参考以下文章

如何判断form表单是不是提交成功

使用JS对form的内容验证失败后阻止提交

后台传回的Json数据怎么在HTML表单中显示并能动态编辑(添加、删除)

织梦做的网站 如何调用自定义表单的提交数量?

jquery photoclip 怎么提交

js / ajax 成功提交后怎么跳转到另外一个页面?