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

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

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

どもです。
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)