Избегайте вложенных форм в таблице - PullRequest
4 голосов
/ 15 января 2011

Как создать следующий действительный (x) HTML, в котором флажки и радиокнопки (столбцы 3 и 4) и кнопка сохранения являются частью одной большой формы, а все кнопки удаления (последний столбец) представляют собой кнопки отправки собственные индивидуальные формы (имеющие скрытое поле с идентификатором локали), без использования javascript?

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

[save]

Используя таблицу, я вынужден вкладывать формы, которые, конечно, недопустимы. Итак, мне было интересно, какие еще возможности у меня есть. Возможно, плавающие колонны?

Ответы [ 2 ]

1 голос
/ 15 января 2011

Вы можете использовать одну форму.Воспользуйтесь тем фактом, что пара имя-значение нажатой кнопки также будет отправлена ​​в качестве параметра запроса.Во время заполнения формы HTML динамически вставьте идентификатор локали в имя кнопки.

<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.
    }
}
0 голосов
/ 15 января 2011

Вы можете использовать две разные таблицы - одну с одной формой для флажков, переключателей и кнопки сохранения, а вторую с кнопками удаления и скрытым полем.

Просто используйте CSS, чтобы расположить их рядом друг с другом.

...