0 0

求点击按钮后,action处理时的按钮等待效果5

求点击按钮后,action处理时的按钮等待效果
最近做项目,要实现点击按钮,让表单提交,通过post方式把表单中的大量的数据带给action,然后action查询数据库,得到相应的数据。再通过poi把这些数据写入excel文件中。然后,用装好数据的excel文件生成一个输入流,供用户下载。
由于用户在表单中所选择的内容不同,action处理的时间也会不同。要求点击按钮后把按钮的名字改成“正在处理”,等action(以“流”的方式返回)处理完,浏览器弹出“保存”excel对话框后。再把按钮的名字改成“导出excel”。
请各位帮忙,看看如何实现。谢谢了。

问题补充:
yanq12 写道
你的描述都很清楚了,实现上要用到的技术都不比较常用的Web技术,


我用浏览器XMLHttpRequest 发送ajax请求,url指向要请求的action。
但是,ajax请求成功返回的数据不是想要的流数据(我用myeclipse的TCP/IP 监控工具,发现反回的不是流。struts.xml中已设置返回方式为“流”了。)
另外,还有一个问题就是表单中有大量的checkbox要提交给后台。要“拼参数串”,太麻烦了。有没有更好的办法啊?
2011年11月27日 12:02

2个答案 按时间排序 按投票排序

0 0

采纳的答案

要想页面不跳转,又要修改提交按钮,那就只能用ajax啊,但是又要返回文件流,ajax又不行。。我觉得在提交的时候先用js添加一个隐藏的iframe 然后把form给复制一份到iframe,然后再提交iframe里的action,返回文件流下载


有点复杂,要不就折中的方式,不自动弹出下载,而是结束后弹出一个框 显示下载连接 或者下载按钮 让用户自己点击 这样就直接ajax就ok了。。
jquery重写表单的submit方法,用ajaxSubmit

<form id="formId" action="xx.actoin" method="post">
....
......
</form>

<script type="text/javascript"> 
$("#formId").submit(function (){
   $("#formId").ajaxSubmit( {
         beforeSubmit:  function(responseText) { 
                    //修改按钮   
                   }
         success: function(responseText) { 
                      //弹出下载按钮
                   }
   });
   return false;
});
</script>

2011年11月27日 15:55
0 0

你的描述都很清楚了,实现上要用到的技术都不比较常用的Web技术,

2011年11月27日 12:22

相关推荐

    AJAX实现页面等待效果

    在本例中,我们可能会在请求发送后显示等待效果,并在接收到响应时将其关闭。 Struts2是一个流行的Java Web应用程序框架,用于构建MVC(Model-View-Controller)结构的Web应用。在我们的示例中,Struts2将处理AJAX...

    按钮,button按钮,button按钮,button

    3. 按钮加载状态:在等待后台操作完成时,按钮显示加载动画。 4. 按钮切换:如开关按钮,允许用户在两种状态之间切换。 总的来说,`按钮`是用户界面设计中的核心元素,它的正确使用和实现直接影响到用户体验和应用...

    android popupwindow按钮交替

    按钮交替效果可能是指在用户点击按钮时,按钮呈现出不同的视觉反馈,例如改变颜色、大小、透明度或者添加动画效果。实现这种效果通常有以下几种方法: 1. 使用`StateListDrawable`:这是一种可以响应按钮不同状态的...

    移动的按钮

    - **加载动画**:在按钮等待后台处理时,可以显示加载动画,如旋转箭头、进度条等。 5. **响应式设计**: - 按钮设计需考虑不同屏幕尺寸和设备类型,确保在手机、平板电脑甚至桌面端都有良好的显示效果和交互性。...

    (0078)-iOS/iPhone/iPAD/iPod源代码-按钮(Button)-Confirm Button

    在实现"购买"按钮的交互效果时,我们需要关注以下几点: 1. **形状改变**:按钮的形状变化可以通过修改按钮的边框宽度、圆角半径以及添加背景色来实现。使用`layer.borderWidth`、`layer.cornerRadius`和`...

    jsp沙漏等待状态

    【jsp沙漏等待状态】是一种在用户触发特定事件(如点击按钮)后,为了提供反馈并防止用户在后台处理任务时进行其他操作而设计的视觉效果。这种效果通常用于网络应用,尤其是基于Java和JSP的系统,它可以帮助提升用户...

    wpf 异步等待框,一个滚动的圈+加上执行时间+Canel按钮

    这个控件通常包含一个动画效果的旋转圆圈(可能是使用Path几何图形实现)表示正在运行的任务,以及一个显示执行时间的文本框,和一个用于取消操作的Cancel按钮。按钮的点击事件将触发任务的取消。 ```xml &lt;!-- XAML...

    ssi js 计时 定时置灰

    "页面按钮的 计时置灰 定时提交"这部分说明了在用户触发某个操作(比如点击按钮)后,按钮会变为灰色不可选状态,同时应用会等待一段时间后自动提交数据。这可能是为了提供更好的用户体验,防止用户快速重复点击导致...

    pygame游戏之旅 调用按钮实现游戏开始功能

    当你在主游戏循环中调用`button()`函数时,你可以传递`game_loop`作为`action`参数,这样当用户点击按钮时,游戏就会开始。 ```python def game_loop(): # 游戏循环的代码... # 在主程序中调用button(),并传入...

    (0138)-iOS/iPhone/iPAD/iPod源代码-按钮(Button)-Round Progress Button

    在实际项目中,可能还需要处理更多细节,比如按钮的文字和图像,以及点击事件的处理。你可以通过`setTitle(_:for:)`和`setImage(_:for:)`方法设置按钮的文字和图像,而`addTarget(_:action:for:)`方法则用于监听按钮...

    Winfrom数据加载等待

    2. **在UI事件中调用异步方法**:在按钮点击事件或其他适当的UI事件处理程序中,调用这个异步方法,并显示一个进度条或等待提示,让用户知道应用正在处理数据。 ```csharp private async void btnLoad_Click...

    bootstrap-clickonmouseover:引导按钮的 Dontclick.it 功能。 单击鼠标悬停按钮延迟

    在“Dontclick.it”功能中,核心思想是模拟一个“不要点击”的感觉,当用户将鼠标悬停在按钮上时,不会立即触发事件,而是需要等待一段时间(例如几秒钟)后,按钮才会执行其原本的功能。这可以通过JavaScript的...

    struts json ajax action 结合

    例如,假设有一个用户搜索功能,用户在前端输入关键词,点击搜索按钮后,AJAX请求会被触发,调用Struts的SearchAction。这个Action执行搜索逻辑,然后返回一个包含搜索结果的List对象。Struts2 JSON插件会将这个List...

    IOS开发实例-1、键盘控制,键盘类型设置,alert 对话框,加载等待

    同时,自定义的action可以处理用户的点击事件。 最后,加载等待通常用于处理耗时操作,比如网络请求或大量数据处理。在iOS中,我们可以使用UIActivityIndicatorView显示加载指示器,配合UIView的alpha或遮罩层来...

    Ajax实战(Ajax in Action)

    2. **表单无刷新提交**:用户填写表单后,无需点击提交按钮等待页面刷新,而是立即验证并显示结果。 3. **实时反馈**:比如搜索建议,用户输入时即返回相关结果,无需完整输入后才显示。 4. **富互联网应用(RIA)**...

    jquery模拟ajax关闭div窗口效果.rar

    假设我们有一个div元素,当点击关闭按钮时,我们希望这个div淡出并最终消失。可以使用jQuery的`.fadeOut()`方法来实现: ```javascript $('.close-button').click(function() { $('.your-div').fadeOut('slow', ...

    简单计算器的代码

    例如,数字按钮的Action可能是接收到点击事件后,将按钮上的数字添加到显示框;加减乘除等运算符按钮的Action可能是存储当前的操作符并准备进行计算。 在Xcode 4.6版本上,开发者使用的是Objective-C语言进行编程。...

    PHP实现一个按钮点击上传多个图片操作示例

    在PHP中实现一个按钮点击上传多个图片的操作,主要涉及到HTML表单、PHP处理以及文件上传相关的知识。下面将详细介绍这个过程。 首先,我们需要创建一个HTML表单,让用户选择要上传的图片。表单中需要设置`enctype=...

    Float Button 圆形进度条效果.zip

    这个开源项目将圆形进度条与FAB进行了集成,这意味着当FAB被点击执行某个需要等待的任务时,它可能会变为一个加载状态,显示一个圆形进度指示器。这种设计有助于提高用户体验,因为用户可以清楚地看到操作正在后台...

Global site tag (gtag.js) - Google Analytics