Есть ли способ выбрать все элементы ввода формы, в том числе и за ее пределами? - PullRequest
4 голосов
/ 16 декабря 2011

Есть ли "официальный" способ получить все элементы ввода формы , включая элементы вне формы , которые используют новый атрибут формы HTML5 для элементов ввода, или мне нужно сделать объединение некоторых пользовательских селекторов? Под официальным я имею в виду стандартную идиому или jQuery. Спасибо.

РЕДАКТИРОВАТЬ: см. Этот пример http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_input_form

EDIT2: я закончил тем, что сделал это: $ ("# formId: input,: input [form = 'formId']")

Ответы [ 4 ]

5 голосов
/ 16 декабря 2011

Да, есть способ.

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

Итак, просто получите ссылкук форме и извлеките свойство .elements:

var form = document.getElementById( 'form1' );
var allFormControls = form.elements;

Демонстрация в реальном времени: http://jsfiddle.net/bsFcf/

Если вы хотите поместить все элементы управления формы в jQueryобъект, я рекомендую это:

$( $( '#form1' )[0].elements )

Live демо: http://jsfiddle.net/bsFcf/1/

4 голосов
/ 16 декабря 2011

Вы можете комбинировать селектор потомков и имеет селектор атрибутов :

var $inputs = $("form :input, :input[form]");
2 голосов
/ 16 декабря 2011

Если вы ссылались на новый атрибут form="myform", теперь вы можете добавить его к элементам и хотите выбрать элементы на его основе, , вы можете сделать следующее :

$('[form="myform"]');

Использование селектора атрибутов .

0 голосов
/ 16 декабря 2011

Попробуйте

var $my_input_fields = $(":input");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...