LoginSignup
1
0

More than 1 year has passed since last update.

IE・EdgeのIEモードでデバッガ起動していないとjavascriptが動かなかった

Posted at

地味にはまったことメモ

状況

デバッガ(F12、EdfeのIEモードはIEChooser)を起動していないとjavascriptが動かなかった。
jsでバリデーション後、ajaxで送信するというコードだったが
バリデーションも開始しない状況だった。
コンソールに「関数を指定してください」と出ることもあった。

試したこと

ajax処理前に以下を追加したが改善せず

$.ajaxSetup({
    cache: false,
});

ここを参考にした
https://ja.stackoverflow.com/questions/11204/ie11-%E3%81%A7%E9%96%8B%E7%99%BA%E8%80%85%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%A8-consoleapi-%E3%82%84-ajax-%E9%80%9A%E4%BF%A1%E3%81%8C%E6%9C%9F%E5%BE%85%E3%81%97%E3%81%9F%E6%8C%99%E5%8B%95%E3%82%92%E3%81%97%E3%81%AA%E3%81%84

原因と解決方法

  • start()という関数からisValid()というバリデーションのコードを呼び出しており、
    trueだったらajaxで送信する、というコードになっていた。
    結果の返却が間に合わなかった模様。
    (trueなのかfalseなのか判定不能になっていた、もしくはfalseに入っていたと思われる。おそらく前者)
    validate() という関数名にしてそちらにまとめたところ改善。

  • </body>タグの後に<script></script>タグを書いていた。
    bodyタグの内側にないとだめだった。
    これは多分「関数を指定してください」の方の原因だったと思われる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0