답변:
입력 인 기본 DOM 요소에는 form
자신이 속한 양식을 가리키는 속성 도 있습니다 .
var form = element.form;
alert($(form).attr('name'));
w3schools 에 따르면 .form
입력 필드 의 속성은 jQuery가 보장하는 훨씬 더 많은 브라우저 인 IE 4.0+, Firefox 1.0+, Opera 9.0+에서 지원되므로이를 고수해야합니다.
이것이 다른 유형의 요소 (아님 <input>
) 인 경우 다음을 사용하여 가장 가까운 부모를 찾을 수 있습니다 closest
.
var $form = $(element).closest('form');
alert($form.attr('name'));
또한의 form
속성 에 대한이 MDN 링크를 참조하십시오 HTMLInputElement
.
나는 약간의 jQuery와 오래된 스타일의 자바 스크립트를 사용합니다.
$($(this)[0].form)
이것은 요소를 포함하는 양식에 대한 완전한 참조입니다.
$(this.form)
어때?
function doSomething(element) {
var form = element.form;
}
그리고 html에서 해당 요소를 찾고 속성 "form"을 추가하여 해당 양식에 연결해야합니다. 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
이 자바 스크립트 함수의 예는 이벤트 리스너가 형식을 식별하기 위해 호출합니다.
function submitUpdate(event) {
trigger_field = document.getElementById(event.target.id);
trigger_form = trigger_field.form;