Answers:
作为输入的本机DOM元素还具有form
指向它们所属形式的属性:
var form = element.form;
alert($(form).attr('name'));
根据w3schools,.form
,IE 4.0 +,Firefox 1.0 +,Opera 9.0+支持输入字段属性,这是jQuery保证的更多浏览器,因此您应该坚持这一点。
如果这是另一种类型的元素(不是<input>
),则可以通过以下方式找到最接近的父元素closest
:
var $form = $(element).closest('form');
alert($form.attr('name'));
另外,请参阅以下form
属性的MDN链接HTMLInputElement
:
function doSomething(element) {
var form = element.form;
}
并且在html中,您需要找到该元素,并添加属性“表单”以连接到该表单,请参考http://www.w3schools.com/tags/att_input_form.asp, 但此表单attr 不会支持IE,例如,您需要直接传递表单ID。
还有一个...
var _e = $(e.target); // e being the event triggered
var element = _e.parent(); // the element the event was triggered on
console.log("_E " + element.context); // [object HTMLInputElement]
console.log("_E FORM " + element.context.form); // [object HTMLFormElement]
console.log("_E FORM " + element.context.form.id); // form id
事件侦听器调用此Javascript函数示例以标识表单
function submitUpdate(event) {
trigger_field = document.getElementById(event.target.id);
trigger_form = trigger_field.form;