IE(7)のランタイムエラー検出
IE(7)の表示はなんか間が抜けた感じがして好きじゃないので、もっぱら Firefoxばかり使ってしまっているのですが、世の中的には IE(7)の方がメジャーらしいので、テストのときは努めて IE(7)を使うようにしています。(Firefoxで見た目を最適化すると IEで見たとき、悲しくなるからということもあります)
現象
そんなテストのとき、IE(7)でだけ「ランタイムエラー ';'がありません」というエラーが出るようになってしまいました。Firefoxでは出ません。ダイアログに表示される行あたりを見ると、この辺が怪しそうです。
<input id="stage_max_member" name="stage[max_member]" onblur="Validator.check(this, 'num1-'))" size="4" tabindex="4" type="text" value="50" />
対処
Firefoxではエラーがでないので、Firebugを使うわけにもいかず、Script Editorを起動させてデバッグモードで入ってみましたが、Script Editorのなかでもエラーは拾えず。
困ったときは「ソースを見直せ」ということで、目を皿のようにしてソースを見たところ、エラーの原因がわかりました。
<input id="stage_max_member" name="stage[max_member]" onblur="Validator.check(this, 'num1-'))" size="4" tabindex="4" type="text" value="50" />
javascriptの')'がひとつ多かったんですね。