"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 양식 ID를 가져오는 중입니다. 그것은 당신이 생각하는 것이 아니다

양식 ID를 가져오는 중입니다. 그것은 당신이 생각하는 것이 아니다

2024-11-08에 게시됨
검색:463

Getting form id. It is not what you think

다음 양식을 사용한 사례가 있습니다.

그리고 자바스크립트를 사용하여 ID를 검색하려고 했습니다.

const form  = document.getElementById("#hello")
console.log(form.id)

그러나 이로 인해 다음이 반환되었습니다.

   

HTMLElement가 대신 사용됩니다. 따라서 이 문제를 완화하기 위해 대신 getAttribute 함수를 사용했습니다.

const form  = document.getElementById("#hello")
console.log(form.getAttribute('id'))

내가 사용한 곳

처음에는 이 예가 문제와 관련이 없는 것 같다고 생각했습니다. 하지만 내 경우에는 HTMLElement가 인수로 수신되는 유틸리티 라이브러리를 개발 중이었습니다.

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.id
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}

제 경우에는 이 함수를 사용하여 양식 활성화를 위한 논리를 배치했는데 이름 ID가 있는 숨겨진 입력이 내 양식 버튼의 입력 필드였기 때문에 검색에 실패했습니다.

따라서 대신 다음을 수행했습니다.

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.getAttribute('id');
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}

입력과 내 양식 내에 존재하는 해당 이름에 관한 id 속성을 받았는지 확인합니다.

릴리스 선언문 이 글은 https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 문의하시기 바랍니다. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3