2012-04-06 7 views
1

나는 함수 이름과 동일한 id와 name을 가진 버튼에 대한 "click"핸들러로서 함수를 바인딩한다. 함수가 정의되지 않았고 함수가 실행되지 않는다는 오류가 발생합니다.함수 이름이 정의되지 않은 이유는 무엇입니까?

<input type="button" name="saveClientDetail" id="saveClientDetail" onclick="saveClientDetail();" value="Save"/> 

이 요소가 포함 된 HTML은 AJAX를 사용하여로드됩니다. 함수 saveClientDetail();은 외부 JS 파일에 정의되어 있습니다. 버튼을 클릭하면 "saveClientDetail() is undefined"오류가 발생합니다. 함수 이름을 변경하면 오류가 생성되지 않습니다. 왜 그래야만하지?

+0

saveClientDetail()은 어떻게 정의되었으며 입력 마크 업에서 참조하기 전에 포함되어 있습니까? – kinakuta

+4

http://stackoverflow.com/questions/9158238/why-js-function-name-conflicts-with-element-id –

+0

'id = "saveClientDetail"'이 (는) 버튼에 고유 한 ID를 부여하기 때문에 이름 충돌 문제 일 수 있습니다. DOM. – Code0987

답변

2

너는 id, name이고, 또한 'saveClientDetail'같은 이름으로 기능한다. 그리고 브라우저는 그걸 쓸 때 saveClientDetail이라는 이름을 구별 할 수 없습니다.

관련 문제