易截截图软件、单文件、免安装、纯绿色、仅160KB

使用Javascript同时提交多个Web表单的方法


1问题来自一位网友的提问:
web页面里有多个表单,每个表单对应着某一类数据操作。
比如一个详细的简历信息页面分 1、个人资料 2、工作经验 3、项目经验 4、其他信息 4个表单。
一般的需求是允许用户单独提交其中任何一个表单到下一个页面进行修改操作(也就是说页面有4个不同的修改按钮,点击哪个按钮则只提交某一个表单的数据到服务器,并根据表单的action)。
现在有这样的需求,允许用户选择其中任意的一个或多个表单进行提交修改,这样的话在客户端如何提交表单?
声明:可能会有人说将4个表单合成一个大表单,根据修改按钮的不同在服务器端进行不同的数据操作即可。这是一种解决办法,但考虑到页面数据量比较大,为了提高效率,减少数据传输量,还是希望能够分成多个表单提交,所以这个办法暂不考虑。是不是一定要用js或ajax?如果不用呢?
2 个人观点
1 用Ajax提交,比如prototype
new Ajax.Request("/do1",{parameters:$("form1").serialize().......);
new Ajax.Request("/do2",{parameters:$("form2").serialize().......);
你可以同时调用多个,默认是异步提交,所以可以同时提交多个表单,这个方案是最简单的。
2 使用多个iframe,然后将每个表单的target指向不同的iframe
然后用js的
document.getElementById("form1").submit();
document.getElementById("form2").submit();
。。。
这个样子进行提交。
3 两个方法的对比
   Ajax方便简单,对结果的处理也比较省事,框架都替我们做好了,但不能跨域提交
   iframe最符合一般的使用,也可以跨域提交,处理返回结果稍微麻烦些,需要在iframe里面使用 parent.进行调用才可以。


相关文档:

JavaScript中if与case比较

发现自己代码中用if的地方比较多,于是就在上周对case语句好好研究了一番并优化了自己的部分代码。因此出现了如下if和case的比较一说。声明当case的条件块中没用break时候,是和if一样的一个一个的条件来判断执行。当条件中有了break,编译器会为它做二分法优化(或跳转表),就是根据条件来跳转,平均性能高于if。
定义: d ......

Javascript获得子页面变量的值

例:
page.html页面:
<html>
<head>
<title>This is a test</title>
</head>
<script type="text/javascript">
var count;
</script>
<body>
<iframe id="child" src="childPage.html" src="childPage"></iframe>
</body>
</html> ......

Javascript的四种继承方式

      在Javascript中,所有开发者定义的类都可以作为基类,但出于安全性考虑,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。
      选定基类后,就可以创建它的子类了。是否使用基类完全由你决定。有时 ......

javascript日期对象

1.日期对象的构造
1.1当前日期
          var now = new Date();
    1.2特定日期
var someDate = new Date(yyyy,mm,dd);
    注:月应该是从0开始计数的.
   2. 日期函数的使用可以参照下面的链接. http://www.w3schoo ......

javascript 读取,设置cookies

function SetCookie(name,value){
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2<argc)?argv[2]:null;
var path=(3<argc)?argv[3]:null;
var domain=(4<argc)?argv[4]:null;
var secure=(5<argc)?argv[5]:false;
document.cookie=name+"="+escape(valu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号