地味にはまったことメモ
状況
デバッガ(F12、EdfeのIEモードはIEChooser)を起動していないとjavascriptが動かなかった。
jsでバリデーション後、ajaxで送信するというコードだったが
バリデーションも開始しない状況だった。
コンソールに「関数を指定してください」と出ることもあった。
試したこと
ajax処理前に以下を追加したが改善せず
$.ajaxSetup({
cache: false,
});
原因と解決方法
-
start()
という関数からisValid()
というバリデーションのコードを呼び出しており、
trueだったらajaxで送信する、というコードになっていた。
結果の返却が間に合わなかった模様。
(trueなのかfalseなのか判定不能になっていた、もしくはfalseに入っていたと思われる。おそらく前者)
→validate()
という関数名にしてそちらにまとめたところ改善。 -
</body>
タグの後に<script></script>
タグを書いていた。
bodyタグの内側にないとだめだった。
これは多分「関数を指定してください」の方の原因だったと思われる。