Ropstah Ropstah - 1 year ago 66
Javascript Question

How to get the form parent of an input?

i need to get a reference to the FORM parent of an INPUT when I only have a reference to that INPUT. Is this possible with javascript (or else jQuery) ?

function doSomething(element) {
//element is input object
//how to get reference to form?

This doesn't work:

var form = $(element).parents('form:first');


Answer Source

Native DOM elements that are inputs also have a form attribute that points to the form they belong to:

var form = element.form;

According to w3schools, the .form property of input fields is supported by IE 4.0+, Firefox 1.0+, Opera 9.0+, which is even more browsers that jQuery guarantees, so you should stick to this.

If this were a different type of element (not an <input>), you could find the closest parent with closest:

var $form = $(element).closest('form');

Also, see this MDN link on the form property of HTMLInputElement: