form提交

cy_name 2012-07-28 11:47:50
我想实现的功能是点击登录这张图片,实现表单提交到servlet中,在后台获得登录用户的信息后,返回到另一个页面。但是不知道为什么,怎么点击图片都无法实现表单提交。我的代码是这样的:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/jsp/common/basejsp.jsp" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>后台管理工作平台</title>
<link rel="stylesheet" type="text/css" href="<%=path%>/css/style.css"/>
<script type="text/javascript" src="<%=path%>/js/common.js"></script>
<script language="javascript">
function changeCode(){
var codeImage = document.getElementById("codeImage");
var changeURL = "<%=path%>/jsp/common/image.jsp?date="+new Date()+"";
codeImage.src = changeURL;
}

//登录验证
function doSubmit(){
var account = document.getElementById("username").value;

if(account==""){
alert("用户名或者密码不能为空");
return;
}else if(document.getElementById("password").value==""){
alert("用户名或者密码不能为空");
return;
} else if(document.getElementById("code").value==""){
alert("验证码不能为空");
return;
}
document.getElementByIdName("login").submit();

}
}
//登陆页重填
function doReset(){
document.getElementByName("login").reset();
}

</script>
</head>
<body>
<div id="top"></div>
<form action="<%=path%>/servlet/AdminLoginServvlet?task=login" name="login" method="post">
<div id="center">
<div id="center_left"></div>
<div id="center_middle">
<div class="user">
<label>用户名:
<input type="text" name="username" id="username" />
</label>
</div>
<div class="user">
<label>密 码:
<input type="password" name="password" id="password" />
</label>
</div>
<div class="chknumber">
验证码:
<input name="code" type="text" id="code" maxlength="4" class="chknumber_input" />
<img src="<%=path%>/jsp/common/image.jsp" id="codeImage" onclick="changeCode();"/>
</div>
</div>
<div id="center_middle_right"></div>
<div id="errorArea">
<c:if test="${not empty operErr}">
<div id="operErr">${operErr}</div>
</c:if>
<%--错误信息从底层抛上来,然后在这边显示--%>
</div>
<div id="center_submit">
<div class="button" ><img src="<%=path%>/images/dl.gif" width="57" height="20" onclick="doSubmit()"/> </div>
<div class="button"> <img src="<%=path%>/images/cz.gif" width="57" height="20" onclick="doReset()";"/> </div>
</div>
<div id="center_right"></div>
</div>
</form>
<div id="footer"></div>
</body>
</html>
...全文
193 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我想这个很有用,可是有点费解
shenhaidelei3 2012-07-29
  • 打赏
  • 举报
回复
我发的帖子就一个人回答 所以问题得不到解决,可以占个地不,对不起了楼主。
本人菜鸟,学web不到二十天,现在做一个项目
前台网页六种条件随意组合查询,所以在传入sql语句的时候我是这样写的

String sql0 = "select * from Daily where writer='" + dailywriter + "'";
String sql1 = (start_time == null||start_time=="") ? "":" and datetime>='" + start_time+ "'" ;
String sql2 = (end_time.equals("")==true) ? (" and datetime<='" + end_time + "'"): "";
String sql3 = ((proname != null)==true) ? (" and pro_ID='" + proname + "'" ): "";
String sql4 = (prpname != null) ? (" and PRP_ab='" + prpname + "'" ): "";
String sql5 = statement != null? (" and statement='" + statement + "'"): "";
String sql6 = task != "" ? (" and task='" + task + "'" ): "";
String sql = sql0 + sql1 + sql2 + sql3 + sql4 + sql5 + sql6;


如上,writer是登录人的名字,成功的在session里取值没问题,可是下面的sql1到sql6 从前台表单页面取值,不为空,都可以取出,为空的时候,赋值的时候却没有赋予""空制符串
本来 sql语句都是写成String sql4 = (prpname != null) ? (" and PRP_ab='" + prpname + "'" ): "";这种形式的,但是因为不成功,就针对上面每个都换成不同的表达式形式,
可是还是不能付空字符串,下面是控制台检验的答应语句:
and datetime>=''
and datetime<=''
and pro_ID=''
and PRP_ab=''
and statement=''
and task=''
select * from Daily where writer='a1' and datetime>='' and datetime<='' and pro_ID='' and PRP_ab='' and statement='' and task=''
前台页面的文本框的name值都与这个对应,不会有错,但填写的时候,都可以取值,但是不填写的时候,却不能赋空字符串
cy_name 2012-07-28
  • 打赏
  • 举报
回复
可是 还是不行啊 改了过后 点击那张图片 还是没有进入系统里去
酒比花香 2012-07-28
  • 打赏
  • 举报
回复

document.getElementByIdName("login").submit();
这个方法写错了。
应该是
document.getElementByName("login").submit();
直接写个 document.form.submit()不可以么?
xianchengzi 2012-07-28
  • 打赏
  • 举报
回复
document.getElementById("login").submit()
dc342579477 2012-07-28
  • 打赏
  • 举报
回复
<input name="name" type="image" src="image/land.gif" align="middle" />
这样应该就可以的楼主 你试试
cy_name 2012-07-28
  • 打赏
  • 举报
回复
生成的源代码是:






<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>后台管理工作平台</title>
<link rel="stylesheet" type="text/css" href="/shopping/css/style.css"/>
<script type="text/javascript" src="/shopping/js/common.js"></script>
<script language="javascript">
function changeCode(){
var codeImage = document.getElementById("codeImage");
var changeURL = "/shopping/jsp/common/image.jsp?date="+new Date()+"";
codeImage.src = changeURL;
}

//登录验证
function doSubmit(){
var account = document.getElementById("username").value;

if(account==""){
alert("用户名或者密码不能为空");
return;
}else if(document.getElementById("password").value==""){
alert("用户名或者密码不能为空");
return;
} else if(document.getElementById("code").value==""){
alert("验证码不能为空");
return;
}
document.form.submit();

}
}
//登陆页重填
function doReset(){
document.getElementsByName("login").reset();
}

</script>
</head>
<body>
<div id="top"></div>
<form action="/shopping/servlet/AdminLoginServvlet?task=login" name="login" method="post">
<div id="center">
<div id="center_left"></div>
<div id="center_middle">
<div class="user">
<label>用户名:
<input type="text" name="username" id="username" />
</label>
</div>
<div class="user">
<label>密 码:
<input type="password" name="password" id="password" />
</label>
</div>
<div class="chknumber">
验证码:
<input name="code" type="text" id="code" maxlength="4" class="chknumber_input" />
<img src="/shopping/jsp/common/image.jsp" id="codeImage" onclick="changeCode();"/>
</div>
</div>
<div id="center_middle_right"></div>
<div id="errorArea">


</div>
<div id="center_submit">
<div class="button" ><img src="/shopping/images/dl.gif" width="57" height="20" onclick="doSubmit()"/> </div>
<div class="button"> <img src="/shopping/images/cz.gif" width="57" height="20" onclick="doReset()";"/> </div>
</div>
<div id="center_right"></div>
</div>
</form>
<div id="footer"></div>
</body>
</html>
AMinfo 2012-07-28
  • 打赏
  • 举报
回复
你不要发这个代码上来,你把在网页上浏览后通过查看源文件的方式,把最终生成的HTML代码发上来。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧