免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: nightfever
打印 上一主题 下一主题

[调用] 求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-09-27 09:46 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

我会试试tinywind提到的mozilla浏览器,IE确实有够垃圾的!感谢各位提供的意见。
\("▔□▔)/\("▔□▔)/\("▔□▔)/

论坛徽章:
0
12 [报告]
发表于 2005-09-27 10:32 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

我已经发现问题,并解决,虽然问题得到解决,但原因我仍然不清楚。
我的解决方法如下,希望有高手能解释其原因,新的代码如下所示,我只是修改了一个语句,脚本部分 没有做任何改动:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"  %>;
<%@ page import="java.util.*" %>;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">;
<html>;
<head>;
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">;
<title>;无标题文档</title>;
</head>;




<body>;

<jsp:useBean id="db" scope="page" class="xt.DBConnect"/>;

<%

  String cUserID=request.getParameter("cUserID";
  String vUserName=request.getParameter("vUserName";
  String vUserPwd=request.getParameter("vUserPwd";
  String cUserLevel_c=request.getParameter("cUserLevel_c";
  String vCommName=request.getParameter("vCommName";
  String dBuildTime=request.getParameter("dBuildTime";
  
  ResultSet rs1=db.executeQuery("select vCommID from t_b_committe where vCommName='"+vCommName+"'";
  rs1.next();
  String vCommID=rs1.getString(1);
  
  
  ResultSet rs2=db.executeQuery("select cUserID from t_b_user where cUserID='"+cUserID+"'";
  
  if(rs2.next())
  {  
   %>;
   
<script language="javascript">;
var truthBeTold = window.confirm("该用户ID已经存在,单击“确定”系统将仍然使用原ID,并将您所选择控制的党组织添加到原ID所控制的党组织范围内,单击“取消”返回。";
if (truthBeTold==false)
{
  window.location.href='admin_add.jsp';
}
</script>;


   
   <%
   
    String sql1="insert into t_b_user_comm values ('"+cUserID+"','"+vCommID+"')";
        db.executeUpdate(sql1);
        rs1.close();
        rs2.close();
        db.destroy();
        %>;
        <script language="javascript">;
        window.location.href='manager_info.jsp';
    </script>;
//————————这里就是问题所在之处,这部分是我修改后的代码(修改后可以正常显示上面红色的那部分脚本,并且可以顺利执行下面的代码),原来的代码是( response.sendRedirect("manager_info.jsp";)
        <%
  }else
  {
  String sql2="insert into t_b_user values ('"+cUserID+"','"+vUserName+"','"+vUserPwd+"','"+cUserLevel_c+"','"+dBuildTime+"')";
  String sql3="insert into t_b_user_comm values ('"+cUserID+"','"+vCommID+"')";
  db.executeUpdate(sql2);
  db.executeUpdate(sql3);
  rs1.close();
  rs2.close();
  db.destroy();
  response.sendRedirect("manager_info.jsp");
  
  }
  
  
  
  
  

  



%>;

</body>;
</html>;
所有问题就出在原来我用的是 response.sendRedirect("manager_info.jsp");实现的页面跳转,但无法显示红色部分的代码,后来我又尝试用<JSP:FORWARD>;命令,问题仍没有解决,最后我仍然怀疑JAVASCRIPT与JSP之间存在优先级问题,那么我就都用脚本语言实现,换成了
<script language="javascript">;
window.location.href='manager_info.jsp';
</script>;
问题得到解决。上面的都是我不成熟的想法,只是事实如此,我没有什么理论根据,还希望有高人能够给出理论上的解释。
PS:这个页面已经是乱的不成样子了,估计tinywind又要晕倒了,呵呵,希望这个帖子能对以后遇到该类问题的朋友有所帮助。再次感谢tinywind和飞翔的梦~
能帮助我想办法并回帖,希望以后还能得到你们的帮助。
╭(′▽`)╭(′▽`)╯(讓咱們一起奔向夕陽吧...)

论坛徽章:
0
13 [报告]
发表于 2005-09-27 13:22 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

嘿嘿~~8要客气哦~~,我也学到不少哩
我个人觉得不该是优先级的问题,但是我没实践过,
恩,以前也因为用response.sendRedirect(" ";出过错,
我觉得这个重定向应该跟超连接应该是有所区别的吧
希望有人能指出来哦~
期待中~~~~~~~~~~~~

论坛徽章:
0
14 [报告]
发表于 2005-09-27 19:25 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

原来如此,执行顺序是先在服务端执行jsp代码,再到客户端执行java script,你在jsp中就redirect了,所以没办法执行了。

论坛徽章:
0
15 [报告]
发表于 2005-09-28 12:03 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

将response.sendRedirect("manager_info.jsp";
改为response.sendRedirect("manager_info.jsp"; return;
就可以了

论坛徽章:
0
16 [报告]
发表于 2005-09-28 16:46 |只看该作者

求助:JSP页面中的JAVASCRIPT脚本不能正常执行,请高人指点!

TO maxabc:
我按照你的方法加上了return;
但是脚本仍然直接跳过,无法执行。
现在我发现的唯一解决方法即是我提到的把response.sendRedirect("manager_info.jsp"; 改成用脚本做的跳转
<script language="javascript">;
window.location.href='manager_info.jsp';
</script>;
这种方法可以让那个确认框执行。
但现在又出现了新的问题,在弹出对话框等待用户选择,确定或取消时,下面的JSP语句仍然在执行,我的目的是等待用户选择后在由页面控制是否执行下面的语句,但现在无论用户是否选择确定,下面的语句都执行了,希望朋友门能继续给出意见。
现在我觉得那个有问题的地方用确认框确实不妥,tinywind所说我觉得有一定的道理,脚本应该在用户的客户端提交表单时执行较好,用在服务器端,出现问题再所难免,但是现在应用上需要实现在服务器上查询出结果后返回给用户进行选择是继续还是返回,我在考虑是否可以不用脚本,用JAVABEAN编一个确认框,然后在JSP页面上调用,可能就不会出现被跳过继续执行下面语句的问题了。
不知各位谁有那种确认框的源代码或是CLASS文件,能提供一下,让小弟学习一下。

论坛徽章:
0
17 [报告]
发表于 2005-12-08 09:40 |只看该作者
<script language="javascript">

                if (!confirm("该用户ID已经存在,单击“确定”系统将仍然使用原ID,并将您所选择控制的党组织添加到原ID所控制的党组织范围内,单击“取消”返回。")){
                        window.location.href="admin_add.jsp";
                }
       
</script>

这一段完全正常,要有错误估计也是语法上的

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
18 [报告]
发表于 2005-12-08 10:27 |只看该作者
第一,看实际效果的页面,查看器HTML源代码,看看到底是什么
第二,firefox或者ie都可以提示错误信息的啊

论坛徽章:
0
19 [报告]
发表于 2005-12-08 22:37 |只看该作者
建议加个标志变量存储不同的状态,最后根据变量来决定结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP