同一个页面两个form表单,一个用form提交,一个用ajax异步提交,当ajax异步提交后,再用普通的form提交无法跳转action

口香糖先森 2014-09-15 11:01:28
请教大师:同一个页面两个form表单,一个用form提交,一个用ajax异步提交,当ajax异步提交后,再用普通的form提交无法跳转action,但地址栏改变了。
我做了一个用户注册功能的页面,里面有个上传图片功能,我用ajaxfileupload方式走的,选择完图片上传后,走action并将图片文件存到数据库中。然后我在填写用户名和密码等信息,再点提交后,页面仿佛退回到了上个页面,地址栏是变成了action的地址。但是其实没有进入到action方法里。
但当我不上传文件直接点提交,可以进到action里,但一旦上传了图片,就无法正常进入保存用户的方法了。
实在不解啊!

==========================================================================================
下面是JSP代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="js/jquery1.7.2.min.js"></script>
<script type="text/javascript" src="js/ajaxfileupload.js"></script>
<script type="text/javascript">
function uploadPic() {
$.ajaxFileUpload({
url: 'user/user_fileUpload.action',
secureuri: false,
fileElementId: 'fileToUpload',
dataType: 'json',
success: function (data) {
alert(data);
$("#pic").attr("src",data);
$("#pic").show();
alert("上传成功!");
},
error: function () {
//_app.closeLoading();
alert("导入数据失败!");
}
});
}

</script>
<title>添加新用户</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

</head>

<body>
<center>
<h1>添加新用户</h1>


<!-- <form id="picUpload" enctype="multipart/form-data" method="post"/> -->

<form action="user/user_register" method="post">
用户名  <input name="user.username" type="text"/>
<br>
<br>
密码    <input name="user.password" type="password"/>
<br>
<br>

上传文件  
<input type='file' name='upload' id='fileToUpload' />
<input type="button" value="上传" onclick="uploadPic()"/>

<img id="pic" src="" style="display: none;"/>
<br>
<br>
<input type="submit" value="提交"/>
</form>
</center>
</body>
</html>


...全文
756 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
萌萌主 2015-09-21
  • 打赏
  • 举报
回复
如果真的要用到局部刷新的话 submit是不行的 要用到button
口香糖先森 2014-09-16
  • 打赏
  • 举报
回复
这个可能是firefox对ajaxfileupload不是太兼容导致的吧,我用chrome跑就没问题。还有我把

上传文件  
            <input type='file' name='upload' id='fileToUpload' />
            <input type="button" value="上传" onclick="uploadPic()"/>
             
            <img id="pic" src="" style="display: none;"/>
放在form表单外,用firefox提交也没问题了。
  • 打赏
  • 举报
回复
不知道是不是ajaxfileupload源码的问题,ajaxfileupload执行完后,会把创建的form和iframe拿掉的。这个创建的form会不会与你原来的form有冲突,以至于不能提交。 建议:将你提交页面的form设置一个id,然后别用submit提交,用button,然后js获取form去提交
zy_think123 2014-09-16
  • 打赏
  • 举报
回复
action="${pageContext.request.contextPath}/user/user_register.action"
试一试
新铺村长 2014-09-16
  • 打赏
  • 举报
回复
有错误信息吗?用FF 看下第二次请求的地址参数等对不呢

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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