对于一个基本的 HTML 表单,我想将表单分成三个选项卡,每个选项卡将包含某些字段,并且在提交表单时我希望三个表单中的所有数据都能够提交。
所以我有一个由<ul>
and创建的菜单<li
>
<ul class="subnav">
<li class="subnav0 current"><a href="javascript:showTab('tab1');">Tab1</a></li>
<li class="subnav1"><a href="javascript:showTab('tab2');">Tab2</a></li>
<li class="lastItem subnav2"><a href="javascript:showTab('tab3');">Tab3</a></li>
</ul>
在这个菜单下面,我有三个代表每个选项卡的 div:
<div class="tab1"></div>
<div class="tab2 displayNone"></div>
<div class="tab3 displayNone"></div>
输入控件元素将被放入每个选项卡 div 中。并且菜单导航栏中的 javascript 将通过每个 div的调用show()
和方法来控制显示哪个选项卡。hide()
(使用 jQuery)。
现在我的问题是:
1)我希望能够提交整个表单(三个 div 内的所有控件)。但是,html 表单不会在 displayNone div 中提交输入控件,这意味着我只能在当前正在查看的选项卡中提交数据,而不能在其他两个选项卡中提交数据。
2)我还想在tab2或tab3中初始化表单时对隐藏元素执行一些javascript函数。但是,由于它们是 display:none,因此 javascript 不会有任何效果。
那么有什么方法可以隐藏 div,但也可以提交表单并对其进行任何 javascript 操作?