避免在表中嵌套表单

时间:2011-01-15 19:07:48

标签: html forms nested-forms

如何创建以下有效(x)HTML,其中复选框和单选按钮(第3列和第4列)和保存按钮都是一个大表单的一部分,所有删除按钮(最后一列)是其提交按钮拥有单独的表单(具有带语言环境ID的隐藏字段),而不使用javascript?

language | region | active | default |
-----------------------------------------------
en       | GB     | [x]    | (*)     | X delete
nl       | NL     | [x]    | ( )     | X delete
nl       | BE     | [x]    | ( )     | X delete

[save]

使用表格,我最终必须嵌套表格,这当然是无效的。所以,我想知道,我有什么其他的可能性。浮动列可能吗?

2 个答案:

答案 0 :(得分:1)

您可以使用单一表格。利用按下按钮的名称 - 值对作为请求参数发送的事实。在填充HTML表单期间,动态内联按钮名称中的区域设置ID。

<input type="submit" name="delete_1" value="Delete" />
<input type="submit" name="delete_2" value="Delete" />
<input type="submit" name="delete_3" value="Delete" />

然后在服务器端检查是否已按下任何一个(伪/ Java风格):

for (Locale locale : locales) {
    if (request.getParameter("delete_" + locale.getId()) != null) {
        // Delete button is pressed for this locale.
    }
}

答案 1 :(得分:0)

您可以使用两个不同的表格 - 一个用于复选框,单选按钮和保存按钮的单个表格,第二个用于删除按钮和隐藏字段。

只需使用CSS将它们重新定位在彼此旁边。