Является ли использование нескольких кнопок отправки в форме HTML плохой практикой? - PullRequest
5 голосов
/ 07 февраля 2011

Я создаю HTML-тест с несколькими вариантами ответов и знаю метод, который позволил бы мне использовать несколько кнопок отправки - по одной для каждого ответа на отдельный вопрос. Затем я мог бы обработать форму в PHP, используя значения кнопки отправки, и определить, какой ответ выбрал пользователь. Причина использования кнопок отправки заключается в том, что они могут быть соответствующим образом оформлены.

Однако мне интересно, если это плохая практика с точки зрения доступности? Было бы лучше использовать индивидуальную форму для каждого ответа на вопрос? Здесь много вопросов о том, как использовать несколько кнопок отправки, но они, похоже, не решают эту проблему.

Ответы [ 2 ]

4 голосов
/ 07 февраля 2011

Это абсолютно нормально, и во многих случаях может улучшить удобство использования формы.Однако будьте осторожны, так как есть несколько ошибок:

  1. Если для отправки формы используется ключ ввода, поведение отправки не определено.HTML5 действительно определяет это поведение и определяет, что большинство браузеров уже делают в этой ситуации: первая кнопка отправки в форме должна иметь свое имя / значение, отправленное как часть отправки.

    Однако IE <= 8 donне отправлять пару имя / значение для любой кнопки отправки, когда для отправки формы используется ключ ввода. </p>

    Итак, вы должны знать, что для формы должно быть действие «по умолчанию»,и это должен быть первый элемент отправки.

  2. Вы не можете использовать эту технику, чтобы выполнить другое действие в зависимости от того, какая кнопка была нажата.Javascript может теоретически решить эту проблему, но вы не должны этого делать (хорошая мантра: не используйте Javascript для решения не-Javascript проблемы )

2 голосов
/ 07 февраля 2011

Что вы будете делать, если форма отправлена ​​с помощью клавиши Enter на клавиатуре, и ни одна из кнопок отправки не будет в данных, которые вы получаете на стороне сервера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...