今天没事敲一个登陆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请求
------解决方案--------------------
+1
------解决方案--------------------
submit函数贴出来。
------解决方案--------------------
你input都可以跳转,而a标签不可以
应该是你js里的方法有问题
------解决方案--------------------
先把submit js 函数贴出来;
不要使用submit来作为函数名, 容易跟js内置函数冲突,
------解决方案--------------------
如果submit()方法是用ajax进行的请求,那么是不能跳转的。如果用ajax进行请求,然后后台进行页面跳转,那么ajax返回的数据就是那个跳转页面的html字符串
------解决方案--------------------
submit()函数做了特殊处理,使用Ajax请求
+1
------解决方案--------------------
是不是js方法中有问题, 看后台似乎没问题!
不知道什么问题,后台没改,前台也不动,就是<a>标签提交,而且后台还能拿到表单的值,就是无法跳转
而input就是可以
先把submit js 函数贴出来;
不要使用submit来作为函数名, 容易跟js内置函数冲突,
这个才是关键,以前我就遇到过,楼主这样写<a href="javascript:void(0)" onclick="submit();">登陆</a>等于自定义了一个函数叫submit的,把js原有的内置函数submit重写了。
------解决方案--------------------
submit函数贴出来。
没写那个函数,本来是想调用内置函数的,不过调用错了,但不明白的是后台怎么拿到数据的
建议要么在javascript函数中写一个form提交,要么就用submit按钮提交。提交效果是一样的。只不过js函数里面提交的话方式选择多一点,比如ajax提交。