类似form嵌套的一个问题,先上传图片,再提交表单

UFOUFO777 2011-03-10 12:09:08
<form name=form2>
<input name="name" id="name">
<form action="upload.jsp" id="form1" name="form1" encType="multipart/form-data"

method="post" target="hidden_frame" >
<input type="file" id="file" name="file" >
<INPUT type="submit" value="上传文件">
<iframe name='hidden_frame' id="hidden_frame" ></iframe>
<img src="/a1.jpg" name="imga" id="imga">
</form>
</form>
我是想,先用form1上传图片,然后再来用form2来提交表单name
现在是form不能嵌套,怎么才能实现这个功能呢,上传图片要在form2里面的,不要说并列两个form
...全文
1123 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jilin_erbao 2011-03-28
  • 打赏
  • 举报
回复
我现在也是遇到了这样的问题, 我想:先把form分开再把样式用js插进去应该可以把 ,但是js不会写,请哪位大哥帮下忙。
凉岑玉 2011-03-11
  • 打赏
  • 举报
回复
我表示压力很大··第一次听说要嵌套表单的··
niepei1990 2011-03-10
  • 打赏
  • 举报
回复
我给的那个 也可以看到图片啊 及时显示图片的
UFOUFO777 2011-03-10
  • 打赏
  • 举报
回复
我的目的是想先上传图片,然后把图片地址回传,显示一下上传的图片,然后再把表单的内容提交,所以要先上传图片后,取得了图片地址,才能再提交其它表单内容的
niepei1990 2011-03-10
  • 打赏
  • 举报
回复
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'addPerson.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

<script type="text/javascript">
function viewPhoto(src){
document.getElementById("preView").style.display = '';
document.getElementById("fileUpload").style.display = '';
document.getElementById("preView").src = src;
}


</script>

</head>

<body>

<form action = "userinfo!usersSave.action" method ="post" enctype="multipart/form-data" onsubmit="return mima()">
<table width="100%" border="0" align="center" cellpadding="0"
cellSpacing="1" >
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
用户名:
</td>
<td class="AddGoods_Right">
<input name="user.username" type="text" id="ClassName"
style="width: 264px;" value="${userBean.username}"/>
<span id="RequiredFieldValidator1"
style="color: Red; visibility: hidden;">*用户名不能为空</span>
</td>
</tr>


</TR>
<TR>
<TD rowspan="2" align="center" class="AddGoods_Left">
用户相片:
</TD>
<TD class="AddGoods_Right">
<img id="preView" style="display:none; border-color:#333; border-style:solid; border-width:1px;" width="100px" height="130px"><br>
<input type="file" id="fileUpload" name="myFile" onChange="viewPhoto(this.value)" />
</TD>
</TR>
<TR>
<TD class="AddGoods_Right_Text">
选择一张相片上传
</TD>
</TR>


<td class="AddGoods_Right">
<input type="submit" name="AddClasss" value="提交"
onclick="" id="AddClasss" class="C_input02" />
 
<INPUT type="button" class="C_input"
onClick="" value="返回">
</td>
</tr>
</table>
</form>

</body>
</html>



你看看 可以这样不 就一个form表单提交
ma309385560 2011-03-10
  • 打赏
  • 举报
回复
一次提交只能调用一个action 那么也就是一个form 什么不要说 就应该并列两个form 才能实现你的功能 不过你可以写一个form啊 干嘛写两个
niepei1990 2011-03-10
  • 打赏
  • 举报
回复
一起提交不可以吗
UFOUFO777 2011-03-10
  • 打赏
  • 举报
回复
后面具体的上传,回传图片地址,我都会的,我就是不知道前台的这个提交图片form1和上传表单的form2冲突如何办两并列form当然行了,但是我是想把上传图片按钮放在表单form2里面,这就矛盾了,
locationkey 2011-03-10
  • 打赏
  • 举报
回复
你如果使用了encType="multipart/form-data"这样的方式在servlet中是无法的到表单中的数据,应为encType="multipart/form-data"他把数据给转换了,你可以使用commons-fileupload.jar他来做上传
JAR包中有一个方法item.getFieldName().equals("表单ID OR NAME ")判断为TRUE时使用item.getString();获得表单中的这个ID的值
李大冬瓜 2011-03-10
  • 打赏
  • 举报
回复
嵌套?
我了个去
tianjinfbw 2011-03-10
  • 打赏
  • 举报
回复
ps: 具体的代码我就不给你写了 写了我也测试不了 社内机上没有IDE。。。不过功能应该是可以搞定。。。
曾经就这么干过。。。记得当时由于很多功能模块的页面都要上传图片。。。于是就写了一个专门上传图片的action
tianjinfbw 2011-03-10
  • 打赏
  • 举报
回复
<form> //form1
.....
<input/> //图片地址
</form>
<form> //form2
<input type="file" id="file" name="file" > //上传图片的button
<INPUT type="submit" value="上传文件">
//上传之后给上面那个图片地址的input 里面赋值

//这样就调用上面form的东西了。。不过有一个问题就是表单信息必须全部在上传图片的上面
//ajax上传图片 不会。。。我也是个小白
<input type="button" onclick="form1.submit()"/>
</form>
wangdongj2ee 2011-03-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 niepei1990 的回复:]
那你就别把form 表单嵌套 form不能嵌套的
[/Quote]

Yes
niepei1990 2011-03-10
  • 打赏
  • 举报
回复
你首先 先上传图片 上传成功后 得到图片在服务器里面的路径 再返回到jsp页面
niepei1990 2011-03-10
  • 打赏
  • 举报
回复
那你就别把form 表单嵌套 form不能嵌套的
UFOUFO777 2011-03-10
  • 打赏
  • 举报
回复
你给的这个是预览图片,并没有上传到服务器,因为上传到服务器必须要用form的,不一样的,我是想先上传后回显