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

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

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

2022年12月15日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

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

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)