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

古いjQueryでform制御したらsubmitできない、または「s[y] is not a function」になったとき。

Web > javascript 2018年2月6日(最終更新:6年前)

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

どもです。
jQueryでフォームを制御していたら、submitできない事案が。
コンソールに「TypeError: s[y] is not a function」というエラーが発生しています。

このエラー自体は「関数でないものを、関数呼び出ししようとした際に発生するエラー」らしいです。
詳細はMDNへのリンクを貼っておきます。

結論から言えば、今回の原因は2つ。

ひとつは、使用していたjQueryが古かったことに起因します。なんと1.8.3。このご時世に1系です。
そしてこのバージョン、まさかのsubmit()がまともに動きません。
仕方ないのでsubmit()を使用しないコードに変更。submitボタンをきちんと置いておいて、送らないときにreturn falseに分岐すれば良いだけなので、特に問題はなしです。

そしてもうひとつ。name属性またはid属性に「submit」を使うとバグる
軽く調べた限りでは、name属性にsubmitはNGまでしか出てこなかったのですが、idもアカンやつでした。

前者はともかく後者は勉強不足だったな。気をつけよ(;^ω^)

参考サイト:
[yuhei.kagaya]id属性やname属性に"submit"という名前をつけてsubmit()されなかった話

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