いちばん失敗した人決定戦

<html>
<body>
<form name="f">
<input type="text" name="txt" size="10" />
</form>
</body>
<script>
document.f.txt.style.width = "100px";
</script>
</html>

上記例のように、画面表示時にテキストフィールドの幅を変更するように
<script>タグ内に直接処理を記述しています。

基本的には正しく動いてくれるのですが
パソコンによってうまく動かない場合があります。
うまく動かないときの現象は次の通りです。

1.画面表示時に幅が変更されていない。
2.マウスポインタをテキストフィールド上へ持っていくと処理が動いて幅が100pxに変更される。

5台あるテスト機のうち、2台はこの現象が起こっています。
※ テスト機はすべてWinXP IE6で検証。

この現象が起こるPCではこのページを開く度に必ずこの現象が起きます。
逆にこの現象が起こらないPCではこの現象が起きたことがありません。

実際はhtmlではなく、jspです。APサーバにはTomcat5.5を利用しています。

実際には、上記例ぐらいのhtml文書なら5台ともこの現象は起こることはなく、正常に動きます。
誠に勝手ではありますが、詳細なhtml文書はお見せすることができません。

以上、本件に関しまして原因、解決策等、何かご存知の方がいらっしゃいましたら
ご教示くださいますようお願い申し上げます。

A 回答 (1件)

<form id="f">


<input type="text" name="txt" id="txt" size="10" />
</form>
<script>
window.onload=function(){
document.getElementById('txt').style.width = "100px";
}
</script>
</body>

idをふる。
ページが読み込まれる前にごちょgちょやってそう。
    • good
    • 0
この回答へのお礼

お礼をつけるのが遅くなりまして申し訳ありません。
そして重ね重ね申し訳ありませんが、自己解決致しました。
原因は不明ですが(多分IEの作りが悪いせいだと勝手に思っているのですが)
対応策としては、本問題に該当する処理部分をonloadイベントハンドラに載せることで
正しく動くことを確認し、暫定対応としました。

回答ありがとうございました。

お礼日時:2008/12/22 23:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!