2013-07-09 2 views
12

У меня есть страница, где мне нужно сохранить значение для обработки через Ajax/jQuery. Я использую скрытое поле ввода , чтобы сохранить это значение, как это:Должно ли скрытое поле ввода быть в форме?

<input type="hidden" name="..." id="..." value="..." /> 

я могу получить доступ к этой стоимости через JQuery, даже если он не в форме (то есть: это только в самом начале моего HTML вывода).

Вопрос: хотя это работает, нормально ли/законно делать с точки зрения правильности, чтобы иметь скрытое значение ввода, которое не является частью формы?

+0

Ya, вы можете использовать его вне любой формы, если не используете xhtml –

+1

@roasted, если вы не используете какой-то старый браузер (например, IE7 игнорирует '' вне '

'). И прежде чем вы скажете, что их больше никто не использует, обратите внимание, что на большинстве компьютеров правительства Великобритании есть IE6, и нет планов по обновлению. –

+0

@AleksG это хороший момент! –

ответ

13

Вы можете поместить скрытый ввод вне формы, если вы извлекаете значение для сообщения ajax с jquery. Однако, если ваше приложение должно ухудшиться (то есть работать без javascript), вы должны иметь скрытый ввод в форме, чтобы он отправлялся на сервер в форме submit.

2

Да, вы можете иметь действительный ввод без формы.

5

Вы можете разместить скрытые поля ввода в любом месте. То же самое относится к любым другим типам полей ввода (кроме submit). Вы можете размещать кнопки, выбирать и т. Д., Не обертывая их в форме.

Обратите внимание, что если вы отправите форму, будут представлены только элементы внутри этой формы.

Я не знаю, что вы планируете делать со скрытым входом, но если вы храните какие-то данные из сценария и т. Д., Я бы рекомендовал использовать тег данных или указать значения с помощью классов/идентификаторов , или сохранение данных в виде js-переменной. Имея кучу скрытых полей, вы не ошибаетесь, но я всегда думал об этом как об уродливом решении.

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