查找包含元素的表单?

时间:2014-03-19 14:40:03

标签: javascript html

我在表单中有一个元素,它们之间可能有很多元素。有一个指向我的元素的变量,我想知道如何在变量中获取父表单。

EG:

<form>
  <div>
    //Element
  </div>
</div>

所以让var element指向div内的元素,我怎样才能获得包含它的表单?

我想在找到一个表格之前想要绕过父母,但我想知道是否有更简单的方法。我怎样才能获得表单元素?

3 个答案:

答案 0 :(得分:2)

这样做非常简单:

var lookup = element;
while(lookup && lookup.nodeName != "FORM") lookup = lookup.parentNode;
if( lookup) {
    // lookup if your form
}

我在我的项目中有一个函数,称为&#34; findParent&#34;,它接受一个回调来测试该元素是否是我正在寻找的元素。

答案 1 :(得分:1)

使用HTML5,它将是

<input element>.form

fiddle

HTML5 - 4.10 Forms
默认情况下,与表单相关的元素与其最近的祖先表单元素相关联(如下所述),但是,如果它是可重新关联的,则可以指定表单属性来覆盖此

答案 2 :(得分:0)

实现此功能的Javascript函数:

function ParentForm(element){ 
  var parent = elem.parentNode; 
  if(parent && parent.tagName != 'FORM'){
     parent = findParentForm(parent);
     }
  return parent;
}
var myForm = parentForm(myElement)