How to get the containing form of an input? How to get the containing form of an input? javascript javascript

How to get the containing form of an input?


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

var form = element.form;alert($(form).attr('name'));

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');alert($form.attr('name'));

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


Every input has a form property which points to the form the input belongs to, so simply:

function doSomething(element) {  var form = element.form;}


I use a bit of jQuery and old style javascript - less code

$($(this)[0].form) 

This is a complete reference to the form containing the element