日期:2014-05-17  浏览次数:20972 次

无意发现一个servlet问题,百思不得其解,怪哉...怪哉...怪哉...


今天没事敲一个登陆demo时发现一个从未发现的问题:

<a href="javascript:void(0)" onclick="submit();">登陆</a>
<input type="submit" value="登陆"/>


都是提交表单,而且值都能提交成功到后台,让我想不通的是:

String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
System.out.println(name+"___"+pwd);
if("admin".equals(name)&&"123456".equals(pwd)){
System.out.println(1);
response.sendRedirect("MyJsp.jsp");
System.out.println(2);
}else{
response.sendRedirect("MyJspError.jsp");
}

为什么用submit()提交到后台后,再跳转页面无法跳转,
而用input按钮时又可以跳转页面,
怪哉...怪哉...怪哉...怪哉...怪哉...怪哉...
jsp servlet request response java

------解决方案--------------------
是不是js方法中有问题, 看后台似乎没问题!
------解决方案--------------------
好像是js出现了问题
------解决方案--------------------
不知道你的onclick="submit();"里面怎么写的.....
------解决方案--------------------
我刚测试了下,是没有区别的啊
<html>
<title></title>
<script type="text/javascript">
function submit(){
document.getElementById("form1").submit();

}

</script>

<body>
<form action="loginAction.action" method="post" id="form1">
<input name="" value="1">
<input type="submit">
<a href="javascript:void(0)" onclick="submit();">登陆</a>
</form>
</body>
</html>
------解决方案--------------------
submit()函数做了特殊处理,使用Ajax请求
------解决方案--------------------
引用:
submit()函数做了特殊处理,使用Ajax请求

+1
------解决方案--------------------
submit函数贴出来。
------解决方案--------------------
你input都可以跳转,而a标签不可以

应该是你js里的方法有问题
------解决方案--------------------
引用:
Quote: 引用:

是不是js方法中有问题, 看后台似乎没问题!

不知道什么问题,后台没改,前台也不动,就是<a>标签提交,而且后台还能拿到表单的值,就是无法跳转
而input就是可以


先把submit  js 函数贴出来;
不要使用submit来作为函数名, 容易跟js内置函数冲突, 

------解决方案--------------------
如果submit()方法是用ajax进行的请求,那么是不能跳转的。如果用ajax进行请求,然后后台进行页面跳转,那么ajax返回的数据就是那个跳转页面的html字符串
------解决方案--------------------
引用:
submit()函数做了特殊处理,使用Ajax请求

+1
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

是不是js方法中有问题, 看后台似乎