javascript - 一个页面可以有多个表单么
PHP中文网
PHP中文网 2017-04-10 17:44:43
0
7
433

多个表单同时提交。在一个页面里

PHP中文网
PHP中文网

认证高级PHP讲师

reply all(7)
PHPzhong

可以的,每个表单都有一个submit方法,可以写一个按钮,监听click事件,然后逐个调用form的上传方法

部分代码示例:

var forms = document.forms;
for(var i=0,j=forms.length;i<j;i++){
    forms[i].submit()
}
小葫芦

一个页面是可以有多个表单的,但是表单不允许嵌套

刘奇

当然可以,比如sf的登录页面,不就是一个注册区表单和一个登录区表单吗。根据需求来吧。

大家讲道理

可以的,每个表单的提交都都可以设置不同的地址。

伊谢尔伦

这个是肯定可以的,表单只是html中的一部分,你可以将它理解为p一样,只不过p是结构,可以循环嵌套,而form则相当于一个整体,他们可以共存,但是不能相互嵌套,因为那样在逻辑上就乱了。

如果你将整个页面比如故宫,那么form可以是宫殿,p和p等标签可以是围墙,围墙可以围着围墙,但是宫殿只能相互独立

巴扎黑

我猜测题主想问的是如何在一个页面多表单提交不刷新页面,其他表单填写的内容不丢失。

满足这个需求,最简单的当然是用js来提交,监听所有表单的submit事件,然后阻止掉默认,如有表单的嵌套(极不推荐,虽然浏览器能正常工作)再阻止掉冒泡,再然后用ajax或者fetch的方法提交表单。

曾经做ajax的无刷新上传文件的时候还弄过clone一个iframe出来提交表单,也是一种思路。

举个小例子。
https://jsfiddle.net/e1crpnnz/

迷茫
  1. 一个页面里有多个表单没问题

  2. 多个表单同时提交,没想到有什么地方会有这样的需求。如果多个表单同时提交的话,恐怕要用 ajax 提交了

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template