javascript-truts jsp form 连续2次submit,第二次结果画面显示不正确

问题描述

truts jsp form 连续2次submit,第二次结果画面显示不正确

jsp里div1里头引用了一个head.jsp,现在有这么2个连续的处理。

先是点击画面更新按钮更新数据库,然后将更新完之后的数据以pdf的形式下载下来。点击更新按钮的时候form submit了一次,然后在javascript里头这个更新处理完了之后又submit执行download pdf这个处理。
可是执行完download pdf这个处理之后,导致画面一部分不能正确显示,不如说背景底色或者图片什么的没显示出来。不知道是css的问题还是什么。我查看过页面的css和引用的js都没有问题。

其次就是,如果这时候,我在浏览器里的console里进行javascript debug的话,执行form的第二次submit进行download pdf的处理就没有这个问题。

所以,这个现在问题到底出在哪儿呢?

再问个题外话:
现在做检索处理,检索结果是一行一行的出,显示速度非常慢,这个该怎么改进?

解决方案

用浏览器带的css调试工具(比如IE的f12)看下不正确的页面元素的css值和正常的比有何不同。

解决方案二:

既然有 form submit 发生,那么返回的数据就会破坏掉原先的 ducument。除非你提交到插入式框架或弹出是窗口
下载也是一样
具体应该如何调整,要看你的代码是如何写的了

解决方案三:

直接submit提交的话,会刷新页面,所以建议你捕获submit事件,使用ajax。
提交事件回调函数记得阻止冒泡和浏览器的默认动作,
一般return false即可。
题外
检索应该直接后台运算得到结果集,然后传输结果到前台显示,如果结果不多,一次传输完毕,否则就分页呗。多用mvc结构。

时间: 2024-12-30 04:57:56

javascript-truts jsp form 连续2次submit,第二次结果画面显示不正确的相关文章

jsp form表单submit后 request.getParameter获取的值为null

问题描述 jsp form表单submit后 request.getParameter获取的值为null public class ReverseString{ public static String reverse(String s){ char []c=new char[s.length()]; for(int i=0;i<s.length();i++) c[i]=s.charAt(s.length()-1-i); return String.valueOf(c); } public st

一个form表单一个submit

问题描述 一个form表单一个submit JSP内如下执行的时候不校验数据 直接就跳转了想使用纯JS 可以校验数据吗 还是只有把**onclick="isEmpty()"** 换成ID然后使用ajax进行校验 <script type="text/javascript" > function trim(s) { var count = s.length; var st = 0; // start var end = count-1; // end if

jsp form提交问题求助

问题描述 jsp form提交问题求助 用jsp做了个翻页功能 pageno代表页数 pageno的赋值如下 pageno=1; if(request.getParameter("pageno")==null||request.getParameter("pageno").equals("")) {pageno=1;} else{pageno=Integer.parseInt(request.getParameter("pageno&q

servlet jsp form的问题

问题描述 <body> <form action="servlet/TestServlet?cmd=123" method="get" name="form1"> This is my JSP page. <br> <input type="submit"> <a href="servlet/TestServlet?cmd=2123">超链接<

JavaScript动态创建form表单并提交的实现方法_javascript技巧

本文实例讲述了JavaScript动态创建form表单并提交的实现方法.分享给大家供大家参考,具体如下: 页面布局有些复杂的情况下,可能需要在页面中动态创建一个 form,JavaScript 创建 form 演示如下: // JavaScript 构建一个 form function MakeForm() { // 创建一个 form var form1 = document.createElement("form"); form1.id = "form1"; f

javascript向jsp传递参数的一种手段:使用xmlhttp对象

javascript|js|xml|对象 xmlhttp对象可以用来在不刷新页面的情况下传递参数,可作为一种javascript向jsp传递参数的一种方法. 下面就是一个javascript向jsp传递参数的例子: xmlhttp.jsp <%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*" import="jav

javascript jquery对form元素的常见操作详解_javascript技巧

1.下拉框 select : 移除option $("#ID option").each(function(){ if($(this).val() == 111){ $(this).remove(); } }); 添加option $("<option value='111'>UPS Ground</option>").appendTo($("#ID")); 取得下拉选单的选取值 //取下拉選中的文本 $('#testSe

IE中使用JavaScript中调用form.submit()提示“对象不支持此属性和方法”

 今天在项目中无意中遇到的一个神奇的问题,特此记录. 首先我们看看以下代码,测试页面可以看这里,页面的功能和逻辑很简单. 这段代码从逻辑上看没有任何错误和BUG,理论上是可以完全执行的. <html>     <head>IE 测试</head> <body> <script language="javascript"> function dosubmit() {     var theform = document.getE

JavaScript中避免Form重复提交的两种方案

1.javascript ,设置一个变量,只允许提交一次. <script language="javascript"> var checkSubmitFlg = false; function checkSubmit() { if (checkSubmitFlg == true) { return false; } checkSubmitFlg = true; return true; } document.ondblclick = function docondblcl