是否有任何方法可以选择表单的所有输入元素,包括表单外部的元素



是否有一种"官方"的方式来获得表单的所有输入元素,包括那些使用新的HTML5 'form'属性的表单之外的输入元素,或者我必须使一些自定义选择器的联盟?我所说的官方是指提供的标准习语或jQuery。谢谢。

编辑:参见这个例子http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_input_form

EDIT2:我最终这样做了:$("#formId:input,:input[form='formId']")

是的,有一个方法。

form.elements集合包含所有表单控件——既包括表单内部的控件,也包括通过form属性与表单关联的控件。

因此,只需获取对表单的引用,并检索.elements属性:

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

现场演示: http://jsfiddle.net/bsFcf/

如果你想把所有的表单控件放在一个jQuery对象中,我建议这样做:

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

现场演示: http://jsfiddle.net/bsFcf/1/

可以将后代选择器和属性选择器组合使用:

var $inputs = $("form :input, :input[form]");

如果您指的是新的form="myform"属性,您现在可以添加到元素中,并希望根据该属性选择元素,您可以执行以下操作:

$('[form="myform"]');
使用属性选择器

Try

var $my_input_fields = $(":input");

最新更新