我知道XHTML不支持嵌套的表格標籤,我已經看過其他的答案
在這裏計算器關於這個問題,但我仍然還沒有想出一個優雅的解決問題的辦法。你如何克服html表格嵌套限制?
有人說你不需要它,他們不能想象一個場景是,這將是必要的。那麼,我個人不能想到一個我不需要它的場景。
讓我們看到一個很簡單的例子:
你正在一個博客的應用程序,你必須與創建一個新的職位和一個工具欄與「行動」像「保存」,「刪除」一些領域的一種形式, 「取消」。
<form
action="/post/dispatch/too_bad_the_action_url_is_in_the_form_tag_even_though_conceptually_every_submit_button_inside_it_may_need_to_post_to_a_diffent_distinct_url"
method="post">
<input type="text" name="foo" /> <!-- several of those here -->
<div id="toolbar">
<input type="submit" name="save" value="Save" />
<input type="submit" name="delete" value="Delete" />
<a href="/home/index">Cancel</a>
</div>
</form>
我們的目標是寫的方式,不需要JavaScript形式,只是普通的舊的HTML表單並提交按鈕。
由於操作網址在表單標籤定義,而不是在每個單獨提交按鈕,我們唯一的選擇是張貼到一個通用網址,然後開始「如果......那麼......否則」確定的名稱提交的按鈕。不是很優雅,但我們唯一的選擇,因爲我們不想依靠JavaScript。
唯一的問題是,按「刪除」,將提交即使需要爲此採取行動的唯一的事情就是與後ID隱藏輸入服務器上的所有表單字段。在這個小例子中不是很大,但是我的LOB應用程序中有數百個(可以這麼說)字段和標籤的表單(由於需求)必須一次性提交所有內容,並且無論如何,這看起來效率很低和浪費。如果支持表單嵌套,我至少可以在自己的表單中包含「刪除」提交按鈕,只有後置ID字段。
你可能會說「只要執行‘刪除’爲紐帶,而不是提交」。這在很多層面都是錯誤的,但最重要的是,因爲這裏的「刪除」等副作用操作不應該是GET請求。
所以我的問題(尤其是對那些說他們沒有必要的形式嵌套)是你會怎麼做?有沒有優雅的解決方案,我錯過了或底線是真的「要麼JavaScript或提交一切」?我會做沒有JavaScript的
這很有趣,但XHTML允許根據有趣的註釋進行間接嵌套嵌套http://anderwald.info/internet/nesting-form-tags-in-xhtml/ - (X)HTML不允許像「form> form」這樣的嵌套表單,但允許「form> fieldset> form」,W3驗證器說它是有效的,但瀏覽器有這樣的嵌套錯誤。 – Nishi 2010-05-14 07:09:09
可能的重複[是否有效在另一個html表單中有html表單?](http://stackoverflow.com/questions/555928/is-it-valid-to-have-a-html-form-inside-另外-html-form) – 2015-06-04 23:38:29