macrossyun 发表于 2008-1-28 10:22

关于一个函数的调用

我写了一个简单函数
function goto(){
    document.form.submit();
    }
放在了三个类似的JSP中,我用链接语句
<form action="#" name="form" method="post">
<input name="name" type="hidden" value="<%=db.getString("name")%>">
</form>
<a href="javascript:goto()"></a>
结果,其中有两个JSP出现脚本错误,一个通过,但三个程序是一杨的,刷新了下虚拟服务器,又变成两个通过了,一个无法通过,再刷,又变成一个通过
我以前写完时,这三个是都能通过的,自从换了Window主题就出现了毛病,我不知道是什么原因??

gehouse 发表于 2008-1-28 15:13

写成标准形式应该会好的。document.getElementById("formid").submit()

macrossyun 发表于 2008-1-28 21:30

不行啊,怎么改都不行.我要哭了,前两天还行的,怎么今天就不行了!!!!

lmhllr 发表于 2008-1-29 14:03

三个表单的名字都是一样的吗?建议贴比较完整点的代码,这个无法确定问题

macrossyun 发表于 2008-1-29 17:39

Jsp

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ page import="com.DB.*"%>
<!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>
<script language="JavaScript">
function moving(){
        document.form.submit();
        }
</script>
</head>
<body>
<center>
<h1>按姓氏查找的结果</h1>
<br>
<hr color="gray">
<table width="450">
<tr>
<td align="center">
编号
</td>
<td align="center">
客户姓名
</td>
<td align="center">
公司名称
</td>
</tr>
<%int num=1;
  String name=request.getParameter("name");
  char[] ch_name=name.toCharArray();
  DBConnect db=new DBConnect();
  String query="select name from client";
  db.excuteQuery(query);
  while(db.next()){
          String names=db.getString("name");
          char[] ch_names=names.toCharArray();
          int flag=1;
          for(int i=0;i<name.length();i++){
                  if(ch_names[i]!=ch_name[i])
                          flag=0;
                    }
          if(flag==1){
                  String querys="select company from client where name='"+names+"';";
                  db.excuteQuery(querys);
                  while(db.next()){%>
<tr>
<td align="center">
<%=num%>
</td>
<td align="center">
<%=names %>
</td>
<td align="center">
<%=db.getString("company")%>
</td>
<td align="center">
<form action="Client_infor_rework_find_exact.jsp" name="form" method="post">
<input name="name" type="hidden" value="<%=names%>">
<input name="company" type="hidden" value="<%=db.getString("company")%>">
</form>
<a href="javascript:moving();">详细信息</a>
</td>
</tr>
<%                        }
                }
        num++;
        }%>
</table>
<br>
<a href="Client_find_firstname.jsp">返回上一级</a>
</center>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ page import="com.bean.*,com.DB.*" %>
<!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>
<script language="JavaScript">
function checkgoto(){
        document.form.submit();
        }
</script>
<style>
a {text-decoration:none;font-family:黑体;font-size:medium;weight:bold}
a:link {color: black}
a:visited {color:black}
a:active {color:gray}
a:hover {color:red}
</style>
</head>
<body>
<%User user=new User();
  int depart=user.getDepart();
  DBConnect db=new DBConnect();
  String query=null;
  if(depart==0)
           query="select * from client";
  else          
           query="select * from client where depart='"+depart+"';";
  db.excuteQuery(query);
  %>

<center>
<h1>客户信息察看</h1>
<br><br><br>
<table width=600>
<tr>
<td>
客户编号
</td>
<td>
客户姓名
</td>
<td>
公司名称
</td>
</tr>
<%int num=1;
try{
        while(db.next()){%>
<tr>
<td>
<%=num%>
</td>
<td>
<%=db.getString("name")%>
</td>
<td>
<%=db.getString("company")%>
</td>
<td align="center">
<form name="form" action="Client_infor_list.jsp" method="post">
<input name="name" type="hidden" value="<%=db.getString("name")%>">
<%System.out.println(db.getString("name"));%>
</form>
<a href="javascript:checkgoto();">详细信息</a>
</td>
</tr>
<%num++;
}
        db.close();
        }catch(Exception e){
                e.printStackTrace();
        }%>
</table>
<a href="Client_Access.jsp">返回上一级</a>
</center>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ page import="com.DB.*"%>
<!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>
<script language="JavaScript">
function move(){
        document.form.submit();
        }
</script>
</head>
<body>
<center>
<h1>按姓氏查找的结果</h1>
<br>
<hr color="gray">
<table width="450">
<tr>
<td align="center">
编号
</td>
<td align="center">
客户姓名
</td>
<td align="center">
公司名称
</td>
</tr>
<%int age1=Integer.parseInt(request.getParameter("age1"));
  int age2=Integer.parseInt(request.getParameter("age2"));
  DBConnect db=new DBConnect();
  String query="select name,company from client where age>="+age1+" and age<="+age2+";";
  db.excuteQuery(query);
  int num=1;
  while(db.next()){%>
<tr>
<td align="center">
<%=num%>
</td>
<td align="center">
<%=db.getString("name")%>
</td>
<td align="center">
<%=db.getString("company")%>
</td>
<td align="center" valign="bottom">
<form action="Client_infor_rework_find_exact.jsp" name="form" method="post">
<input name="name" type="hidden" value="<%=db.getString("name")%>">
<input name="company" type="hidden" value="<%=db.getString("company")%>">
<input name="submit" type="submit" value="详细信息"/>
</form>
</td>
</tr>
<%
        num++;
        }%>
</table>
<br>
<a href="Client_find_firstname.jsp">返回上一级</a>
</center>
</body>
</html>

我调用数据库的表时,如果只有一个信息,就都能通过,如果大于等于2个内容(就是显示时为2行)就无法识别Script

macrossyun 发表于 2008-1-29 17:48

请只看JavaScript部分,其他的几乎是重复的,本人写完还没整理,所以都点乱

islet 发表于 2008-1-29 18:33

<form>标记 没有 ID

lmhllr 发表于 2008-1-29 22:53

form的名字重复了,用ID访问对象或者用下标访问

macrossyun 发表于 2008-1-30 14:39

能写个示例么,我添加了ID但还是不行,我JavaScript不是很熟,谢谢了

kingyor 发表于 2008-2-1 13:31

一定要注意你的DOM,你看最后在浏览器里面的源文件,有几个FORM就要出问题,所以用ID标明比较好。

页: [1]

编程论坛