是否有“官方”方式来获取表单的所有输入元素,包括表单之外的那些使用输入元素的新HTML5'表单'属性,或者我是否必须制作一些自定义选择器的联合?官方我指的是提供的标准习语或jQuery。感谢。
编辑:请参阅此示例http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_input_form
EDIT2:我最终这样做了:$(“#formId:input,:input [form ='formId']”)
答案 0 :(得分:5)
是的,有办法。
form.elements
集合包含所有表单控件 - 包括表单内的控件以及通过form
属性与之关联的表单控件。
因此,只需获取对表单的引用,然后检索.elements
属性:
var form = document.getElementById( 'form1' );
var allFormControls = form.elements;
现场演示: http://jsfiddle.net/bsFcf/
如果要将所有表单控件放在jQuery对象中,我建议这样做:
$( $( '#form1' )[0].elements )
答案 1 :(得分:4)
您可以合并descendant selector和has attribute selector:
var $inputs = $("form :input, :input[form]");
答案 2 :(得分:2)
如果您引用新的form="myform"
属性,现在可以添加到元素,并希望根据该元素选择元素,you can do the following:
$('[form="myform"]');
答案 3 :(得分:0)
尝试
var $my_input_fields = $(":input");