Поле ввода HTML ВНЕ формы

#javascript #php #html #css #forms

Вопрос:

У меня есть форма с набором входных данных, и я хочу, чтобы моя страница обновлялась при изменении одного из них. У меня есть второй набор входных данных на ДРУГОЙ стороне страницы, и макет css не позволяет мне помещать их в один и тот же <form> </form> тег. Мне было интересно, есть ли способ, которым я могу убедиться, что те «входные данные», которые находятся за пределами <form> тега, все еще связаны с этой формой.

Есть ли какой-то способ назначить «идентификатор формы» входным данным?

Комментарии:

1. Вы можете вручную захватить их значения, используя javascript при отправке. Что мешает вам поместить их в форму? У вас есть форматирование, прикрепленное к <form> ?

Ответ №1:

В HTML5 вы можете использовать form атрибут:

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

Если элемент, связанный с формой, имеет указанный атрибут формы, то значение этого атрибута должно быть идентификатором элемента формы в документе владельца элемента.

Пример:

 <form id="myform">
    <input id="something" type="text">
</form>

<button form="myform" type="submit">Submit that form over there</button>
 

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

Комментарии:

1. будет ли это работать в формах angularjs и проверке форм?

Ответ №2:

<input type="text" form="myform" /> работал на меня.

Обновить
Это отлично работало с FireFox, однако вызвало у меня проблемы в IE 11, так как атрибут формы не распознается в IE (на момент написания этой статьи).

Мне нужно было просто установить скрытое поле ввода внутри формы и перенести значение в скрытое поле ввода из ввода вне формы; с помощью onclick с помощью jQuery.

Комментарии:

1. Забавно, я наткнулся на это, когда эта проблема снова возникла для меня. Я попытался проголосовать и получил сообщение «Вы не можете голосовать за свой собственный пост». Не понимал, что написал это. прошлый eaglei22 помог будущему eaglei22 выбраться!

2. О, это снова твой ответ. Я помню этот комментарий, но совершенно забыл о содержании ответа 🙂

3. Вы не одиноки в том, что ставите лайки на свой собственный пост, давно забытый, eaglei22 😀 Кстати, атрибут формы, похоже, поддерживается для различных типов тегов, таких как кнопка, ввод, метка, вывод (великий забытый тег), выбор и область текста. Предполагается, что он также будет доступен для тегов fieldset, meter и object, но браузеры, похоже, не поддерживают их, как указано в w3schools.com/tags/att_form.asp

4. Кто-то пошутил по этому поводу, пришел посмотреть.