오늘은 엑셀을 내보낼 때 내보내기와 검색을 구분하기 위해 Form에 숨겨진 입력을 이용했습니다. 처음에는 js의 onClick 이벤트 함수 이름이 숨겨진 id 이름과 동일합니다. 결과적으로 오류가 보고됩니다. 함수가 호출되는 줄의 개체가 이 속성을 지원하지 않습니다.
오랫동안 검색해봐도 이유를 찾을 수 없었습니다. 처음에는 글자가 틀린 줄 알았더니 js 함수가 전혀 실행되지 않았습니다. 나중에 다른 함수를 직접 호출할 수 없게 되었는데 작동하는 걸 보니 함수 이름 때문인 줄 알고 작동하기 전에 함수 이름을 바꿨습니다. 그런 다음 입력의 ID를 함수 이름과 동일하게 변경했는데 또 다른 오류가 발생했습니다. 다음 예제를 검증하기 전에는 항상 ThinkPHP 템플릿 구문 분석의 버그라고 생각했습니다. 다음 예제를 통해 js의 함수 이름이 요소의 id와 동일할 수 없음을 확인합니다.
예를 들어:
다음과 같이 코드 코드를 복사합니다.
<html>
<머리>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>세시</title>
<스크립트>
함수 a()
{
document.getElementById('a').value="테스트";
경고(document.getElementById('a').value);
거짓을 반환;
}
</script>
</head>
<본문>
<양식>
<input type="hidden" id="a" name="a" value="" />
<input type="button" value="excel" onClick="javascript:a();"/>
</form>
</body>
</html>
웹 오류 세부정보
사용자 에이전트: Mozilla/4.0(호환 가능, MSIE 8.0, Windows NT 5.1, Trident/4.0, CIBA, .NET CLR 2.0.50727)
타임스탬프: 2011년 1월 27일 목요일 13:30:09 UTC
메시지: 개체가 이 속성이나 메서드를 지원하지 않습니다.
행: 17
캐릭터: 1
코드: 0
URI: 파일:///C:/Documents%20and%20Settings/Administrator/Desktop/test.html