次のjavascriptを実行するとIEとFirefoxで動作が違うという事がわかりました。
-- code -------------
<html><head>
<script language="javascript">
function testFunction(){
var el;
el = document.getElementById("test");
el.value="test alert";
alert(el.value);
}
</script>
</head><body>
<input type="hidden" name="test" value="" />
<input type="button" name="testButton" value="test" onclick="testFunction()" />
</body>
</html>
--------------------
まず、動作が違う理由から説明すると、getElementByIdというメソッドの仕様にあるようです。
このメソッドは要素のID属性からタグを返すメソッドですが、呼び出そうとしている、inputタグにID属性を明記していません。
なのに!!IEだと問題なく動作をしてしまうのです!!!
Firefoxだと、null値が返され.valueがelには無いというエラーが発生します。
私自身、ID属性を指定するの忘れ、IEで動くのにFirefoxで動かないという現象に陥り、どっぷりハマりました。
次回IE8はWEB標準に近づくということですが、Javascript自体はどうなんでしょうかね?
そもそも、デフォルトは標準レンダリングの機能がオフになっているという噂も。。。
WEBアプリケーションはホントに厄介だ。![]()