基本的なHTMLフォームの場合、フォームを3つのタブに分割します。各タブには特定のフィールドが含まれます。フォームを送信するときに、3つのフォームのすべてのデータを送信できるようにしたいと思います。
だから私はとによって作成されたメニューを持ってい<ul>
ます<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>
このメニューの下に、各タブを表す3つのdivがあります。
<div class="tab1"></div>
<div class="tab2 displayNone"></div>
<div class="tab3 displayNone"></div>
入力コントロール要素は、各タブdivに配置されます。また、メニューナビゲーションバーのJavaScriptは、各divの呼び出しshow()
とメソッドによって表示するタブを制御します。hide()
(jQueryを使用)。
今私の問題は:
1)フォーム全体(3つのdiv内のすべてのコントロール)を送信できるようにしたい。ただし、htmlフォームはdisplayNone div内の入力コントロールを送信しません。つまり、現在表示しているタブ内のデータのみを送信でき、他の2つのタブは送信できません。
2)tab2またはtab3でフォームを初期化するときに、hide要素に対していくつかのjavascript関数も実行したいと思います。ただし、display:noneであるため、javascriptは効果がありません。
では、どういうわけかdivを非表示にするだけでなく、フォームを送信してjavascript操作を実行できる方法はありますか?