포함된 입력 형식을 얻는 방법은 무엇입니까?
입력에 대한 참조만 있는 경우 입력의 양식 상위 항목에 대한 참조를 얻어야 합니다.자바스크립트로 이것이 가능합니까?원한다면 jQuery를 사용합니다.
function doSomething(element) {
//element is input object
//how to get reference to form?
}
이것은 작동하지 않습니다.
var form = $(element).parents('form:first');
alert($(form).attr("name"));
입력인 네이티브 DOM 요소에도 다음이 있습니다.form
자신이 속한 양식을 가리키는 속성:
var form = element.form;
alert($(form).attr('name'));
w3 학교에 따르면,.form
입력 필드의 속성은 jQuery가 보장하는 브라우저 수가 훨씬 많은 IE 4.0+, Firefox 1.0+, Opera 9.0+에서 지원되므로 이를 고수해야 합니다.
만약 이것이 다른 유형의 요소라면 (아니면)<input>
)에서 가장 가까운 상위 항목을 찾을 수 있습니다.
var $form = $(element).closest('form');
alert($form.attr('name'));
또한 다음 MDN 링크를 참조하십시오.form
의 재산.HTMLInputElement
:
모든 입력에는 다음이 있습니다.form
입력이 속한 형식을 가리키는 속성입니다. 간단히 다음과 같습니다.
function doSomething(element) {
var form = element.form;
}
jQuery 사용:
function doSomething(element) {
var form = $(element).closest("form").get().
//do something with the form.
}
나는 약간의 jQuery와 오래된 스타일의 javascript를 사용합니다 - 코드를 적게 사용합니다.
$($(this)[0].form)
이것은 요소를 포함하는 양식에 대한 완전한 참조입니다.
function doSomething(element) {
var form = element.form;
}
그리고 HTML에서 해당 요소를 찾고 해당 양식에 연결하려면 "form" 속성을 추가해야 합니다. http://www.w3schools.com/tags/att_input_form.asp 을 참조하십시오. 그러나 이 형식은 IE를 지원하지 않습니다. 예를 들어 formid를 직접 전달해야 합니다.
jQuery를 사용하고 폼 요소에 대한 핸들이 있는 경우 .form을 사용하기 전에 요소를 (0) 가져와야 합니다.
var my_form = $('input[name=first_name]').get(0).form;
사용해야 했습니다.element.attr('form')
대신에element.form
.
저는 페도라 12에서 파이어폭스를 사용합니다.
이 Javascript 함수의 예는 형식을 식별하기 위해 이벤트 수신기에 의해 호출됩니다.
function submitUpdate(event) {
trigger_field = document.getElementById(event.target.id);
trigger_form = trigger_field.form;
그리고 하나 더..
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
간단히 말하면:
alert( $(this.form).attr('name') );
이것이 효과가 있을까요?(실행 공백도 양식을 다시 제출합니다. 그렇죠?)
<form action="">
<select name="memberid" onchange="this.form.submit();">
<option value="1">member 1</option>
<option value="2">member 2</option>
</select>
"this"는 선택 요소이고 .form은 부모 형태입니다.그렇죠?
언급URL : https://stackoverflow.com/questions/991367/how-to-get-the-containing-form-of-an-input
'programing' 카테고리의 다른 글
PowerShell 스크립트에서 REST API 호출 (0) | 2023.08.01 |
---|---|
Httpclient 이 인스턴스가 이미 하나 이상의 요청을 시작했습니다.속성은 첫 번째 요청을 보내기 전에만 수정할 수 있습니다. (0) | 2023.08.01 |
RxJS: TakeUntil() Angular 구성 요소의 ngOnDestroy() (0) | 2023.08.01 |
PowerShell에서 curl 명령을 사용하는 방법은 무엇입니까? (0) | 2023.08.01 |
strcpy() 반환 값 (0) | 2023.08.01 |