Uncaught TypeError: XX is not a function at HTMLInputElement.onclick

JavaScript

JavaScript 

問題

下記のコードで、「合格」ボタンをクリックすると、Uncaught TypeError: accept is not a function at HTMLInputElement.onclick というエラーが発生します。

<div class="btn_Div" id="operations-btn">
    <input type="button" value="合格" 
           class="btn-accept" id="accept-btn" οnclick="accept()" />
    <input type="button" value="却下" 
           class="btn-reject" id="reject-btn" οnclick="reject()" />
    <input type="button" value="審査に提出" 
           class="btn-add" id="submit-btn" οnclick="accept()" />
</div>
<script>
	function accept() {
		...
	}
</script>

答え

ネットで検索してみたところ、このエラーの原因は、JS関数と同じ名前のnameまたはidを持つinput要素がある場合、正常に呼び出せなくなるためです。

解決策は、要素のid/nameを変更するか、関数名を変更することです。

関数名を acceptApproval() に変更したら、問題が解決しました。

コメント

タイトルとURLをコピーしました