どもです。
今回の話は件名の通り。
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 ですが、実は結構色々なパターンのエラーで出てくるメッセージらしいので、これが違うなら他をあたってみる必要がありますね。