입력 필드에서 값 속성을 검색하려고 할 때 데이터 검색 중에 예상치 못한 오류가 발생할 수 있습니다. 입력한 내용에 관계없이 입력 값이 비어 있습니다. 올바른 입력 필드와 버튼을 성공적으로 타겟팅했다면 수수께끼가 복잡해 보일 수 있습니다.
이 문제의 근본 원인을 살펴보겠습니다. 코드의 inputValue와 같은 JavaScript 변수는 생성 당시 값의 스냅샷을 보유합니다. 따라서 처음에 스크립트를 실행하면 페이지 로드 시 inputValue 변수에 빈 문자열이 할당됩니다.
안타깝게도 이 변수는 입력 필드 값에 대한 후속 수정에도 불구하고 변경되지 않은 상태로 유지됩니다. 이는 JavaScript 문자열이 변경 불가능하고 일단 할당되면 변경할 수 없기 때문입니다. 따라서 입력 필드에서 수행하는 모든 키 입력은 inputValue 변수에 반영되지 않습니다.
이 문제를 극복하려면 두 가지 옵션이 있습니다. :
1. 매번 요소 쿼리:
페이지를 로드하는 동안 변수에 값을 할당하는 대신 버튼을 클릭할 때마다 요소를 쿼리합니다.
const testing = () => { const inputValue = document.getElementById("inputField").value; alert(inputValue); };
이 접근 방식은 다음을 보장합니다. inputValue 변수에는 항상 입력 필드에 입력된 최신 값이 포함됩니다.
2. 요소에 대한 참조 사용:
또는 요소에 대한 참조를 유지하고 값 속성을 동적으로 쿼리할 수 있습니다.
const inputElement = document.getElementById("inputField"); const testing = () => alert(inputElement.value);
값 속성을 동적으로 쿼리하면 정적 변수 사용 시 발생할 수 있는 위험을 피하고 현재 입력 값으로 작업하도록 보장하세요.
위 내용은 필드에 입력을 하고 있는데도 JavaScript 입력 값이 항상 비어 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!