2012-02-08 3 views
2

У меня есть поле ввода, которое заполняется из предыдущей формы (поэтому вход отключен на второй странице), и мы получаем null для значения. Это работает:playframework, входные прерывания проигрывают от передачи значения?

<input type="text" class="boxtpl" name="${field.name}" value="${user?.email}"> 

, но это не делает:

<input type="text" class="boxtpl" name="${field.name}" value="${user?.email}" disabled="disabled"> 

Есть ли причина, почему это, кажется, сломать рамки?

ответ

5

Отключенные элементы управления не должны действительно должны быть представлены с формой, поэтому то, что вы видите, на самом деле является нормальным поведением. Согласно HTML form specification:

Когда установлен, отключен атрибут имеет следующие эффекты на элемент:

  • управления для инвалидов не получают фокус.
  • Отключенные элементы управления пропускаются в навигационной панели.
  • Отключенные элементы управления не могут быть успешными.

Определение successful можно найти in the same document. Это немного бессмысленно предположить, что из-за этого Play проиграл.

Если вы хотите иметь поле формы, которое пользователь не может редактировать, пока он еще должен отправляться вместе с формой, вы можете использовать атрибут read-only или использовать JavaScript для запрета ввода пользователем.

Update: как указано в комментариях, следующие пункты могут также предложить решение:

  • Вполне возможно, что Play все еще сохраняет значения формы в отключенный элемент управления в объекте запроса, и просто Безразлично» t привязать их (чтобы вы могли получить их из запроса, если это необходимо)
  • Используйте скрытое поле, чтобы сохранить значение формы, если вы все еще хотите отправить это значение, но не хотите, чтобы пользователь (ы) видел элемент управления
+1

An другой альтернативой является наличие второго скрытого поля, которое содержит данные. Кроме того, вы можете обнаружить, что игра по-прежнему есть в запросе объекта params, но не привязывает его. – grahamrb

+0

@grahamrb О, он все еще хранит их в запросе? Не знал этого, хороший звонок. – tmbrggmn

+0

@tmbrggmn опция скрытого поля - лучшая альтернатива, более устойчивая –

Смежные вопросы