jsp页面中通过一个按钮提交两个form表单可以吗?
<scripttype="text/javascript">functionsubmitForm(){fm1.submit();fm2.submit();}</scrip...
<script type="text/javascript">
function submitForm(){
fm1.submit();
fm2.submit();
}
</script>
<body>
<form name="fm2" action="submittext.do" method="post">
文本:<input type="text" name="userName"/>
</form>
<form name="fm1" action="fileupload.do" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="button" value="submit" onclick="javaScript:submitForm();"/>
</form>
</body>请问这样可以吗? 展开
function submitForm(){
fm1.submit();
fm2.submit();
}
</script>
<body>
<form name="fm2" action="submittext.do" method="post">
文本:<input type="text" name="userName"/>
</form>
<form name="fm1" action="fileupload.do" method="post" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="button" value="submit" onclick="javaScript:submitForm();"/>
</form>
</body>请问这样可以吗? 展开
7个回答
展开全部
这样不可以,它只能提交一个请求,如果你想要提交两个form里面的内容,直接把他们合成一个form ,我想你大概是这个意思提交fm2之后验证用户之后在提交fm1上传文件,建议第一个form的action=submittext.do 用ajax做,第二个form是真正业务逻辑的提交
Ajax开发的例子
<script language="javascript">
var http_request = false;
function send_request(url) {//初始化、指定处理函数、发送请求的函数 http_request = false; //开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别 http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) { try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystatechange = processRequest; // 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("GET", url, true);
http_request.send(null); } // 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
alert(http_request.responseText);
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
</script>
Ajax开发的例子
<script language="javascript">
var http_request = false;
function send_request(url) {//初始化、指定处理函数、发送请求的函数 http_request = false; //开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别 http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) { try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
http_request.onreadystatechange = processRequest; // 确定发送请求的方式和URL以及是否同步执行下段代码
http_request.open("GET", url, true);
http_request.send(null); } // 处理返回信息的函数
function processRequest() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
alert(http_request.responseText);
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
</script>
展开全部
不可以
如果一定要这么用的话, 你可以试着这样:
点击一个表单的submit时,用JS得到另一个表单中的数据,用AJAX发送。
也就是一个用同步发送另一个用ajax做,想法而已 , 没试过.....希望能帮到你.
如果一定要这么用的话, 你可以试着这样:
点击一个表单的submit时,用JS得到另一个表单中的数据,用AJAX发送。
也就是一个用同步发送另一个用ajax做,想法而已 , 没试过.....希望能帮到你.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行
第一个Form提交出去后页面就挑砖了,无法提交第二个Form
除非第二个Form设置一下打开新页面
<form name="fm1" action="http://www.sina.com" method="post" target="_blank">
这样可以同时提交两个页面,但是这样就新开了一个窗口
建议两个Form放在一个Form做
或者使用AJAX
第一个Form提交出去后页面就挑砖了,无法提交第二个Form
除非第二个Form设置一下打开新页面
<form name="fm1" action="http://www.sina.com" method="post" target="_blank">
这样可以同时提交两个页面,但是这样就新开了一个窗口
建议两个Form放在一个Form做
或者使用AJAX
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-12-17 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
采用js提交from表单,这样就会把表单一个个提交了,只能一个个提交,不能同时提交,
$("form1").submit(function(e){
alert("Submitted");
});
$("form2").submit(function(e){
alert("Submitted");
});
如果input过多可以隐藏当前div页,点击下一页显示div2,在提交。
$("form1").submit(function(e){
alert("Submitted");
});
$("form2").submit(function(e){
alert("Submitted");
});
如果input过多可以隐藏当前div页,点击下一页显示div2,在提交。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可不可以,你最好先在开发工具(如Eclipse)里试试,比如,再弄个提交结果的jsp页面,测试提交过去的数据到底怎么样。
下面讲讲我用过的方法:
不知道你是否是提交给servlet,以前在jsp里提交两个表单给servlet(做为判断是哪个form的值,转向用的),在servlet里对取出表单的id判断,如果是form1提交的,那么form1的值不为空,接下来,只需做个转向,这样form1里面的表单值就可以取出来了。
下面讲讲我用过的方法:
不知道你是否是提交给servlet,以前在jsp里提交两个表单给servlet(做为判断是哪个form的值,转向用的),在servlet里对取出表单的id判断,如果是form1提交的,那么form1的值不为空,接下来,只需做个转向,这样form1里面的表单值就可以取出来了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询