数码幽灵的自学Blog

.Net 学习历程

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
在项目中有功能需要一次提交多个Form,于是在页面中有了如下代码:
...
for(i=0;i<document.forms.length;i++)
   document.form[i].submit();
...
于是问题来了,发现对于form中不包含<input type=file>的,有时能够得到正确结果,有时不能;
但如果form中包含了<input type=file>的话,就根本无法得到预期的效果;

经过在google上搜索,终于找到一个国外论坛中类似的问题及答案;
大概的意思是,无法在一个document中同时提交多个form,一个IE窗口线程一次只能处理一个form的提交;
解决的办法就是设置多个form的target属性为不同的值,target是提交该form并接收ServerSide Response的窗口name属性,这样才能保证以上那段代码的正确性;

example:
<form  target="_blank" method=post>
<form target="_blank" method=post>
...

如果不想开新窗口Post Form的话,应该使用页面中隐藏的Iframe的name来作为target;
不知道如果这样提交form的方法,如果form中包含文件的话是否实现了每个文件使用一个单独的线程上传呢?
posted on 2005-05-14 10:01  数码幽灵  阅读(5317)  评论(5编辑  收藏  举报