ど素人から毛を生やす。<延>

[javascript]スペルミスもないのに ○○ is not a function

Web > javascript 2022年12月15日(最終更新:1月前)

どもです。
今回の話は件名の通り。

buttonにonClickを登録し、JS側にはその名称の関数を間違いなく設置。
したはずが、○○ is not a function になってしまって関数が実行できない。

エラー内容は直訳すると「○○は関数ではありません」。
いや関数やないかい。間違いなく設置したぞオラ。

と思っていたら、原因がこちら。

<input type="button" name="test" onClick="test()" valie="実行">

フォーム側に呼び出そうとする関数と同名のnameがある場合、そっちを参照してしまって「is not a function」になってしまう模様。
たしかに、それは、関数ではない、ですね…。

ということで、nameなり関数名なりを変更したりなんなりして、今回は対応OKです。

一般的にはスペルミスで起きるこの is not a function ですが、実は結構色々なパターンのエラーで出てくるメッセージらしいので、これが違うなら他をあたってみる必要がありますね。

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)