• 締切済み

画面表示時にJavaScriptが動く場合と動かない場合がある

<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文書はお見せすることができません。 以上、本件に関しまして原因、解決策等、何かご存知の方がいらっしゃいましたら ご教示くださいますようお願い申し上げます。

みんなの回答

noname#84373
noname#84373
回答No.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ちょやってそう。

kyonn2008
質問者

お礼

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

関連するQ&A

専門家に質問してみよう