- - PR -
Image.srcの変更とSubmit処理の同期について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-04-19 10:52
はじめまして、初めて書きこみ&質問させていただきます。
あるアンカーのonclick()でJavaScript関数をコールし、その関数内で画面上のimageオブジェクトのsrcを変更した後にSubmit処理を行っています。 ------------------------------------------ <script type="text/javascript"> <!-- function kansu(){ イメージオブジェクトA.src="画像のパス"; イメージオブジェクトB.src="画像のパス"; submit(); } // --></script> <a href="#" onclick="kansu()">リンク</a> ------------------------------------------ 結果として、イメージオブジェクトの表示切替が完了する前にsubmit()処理が行われます。 その為、ブラウザ上ではイメージの切替が全く行われていないように見えでしまいなす。 イメージオブジェクトの切替が完了した後にsubmit()が行われるようにしたいのですが、 どのような実装にするべきでしょうか? | ||||
|
投稿日時: 2006-04-19 11:16
同様の実装で試してみましたが、一応画面も更新されていますね。 もっとも、すぐ submit されてしまうので一瞬ですが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-04-19 11:22
img要素のonloadイベントでイメージのロードが完了したことを確認した後、
画面操作をロックし、タイマーで数秒後にsubmitを実行する、とか。 imgのonloadイベントで本当に読込完了がトラップできるか、要検証ですが。 | ||||
|
投稿日時: 2006-04-19 11:25
やはり、ブラウザや端末によって結果が左右されるんでしょうか。
サンプル ページ _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-04-19 11:45
さっそくのご助言ありがとうございます。
>>じゃんぬねっと様 イメージオブジェクトの取得に必要な時間によって結果が変化します。 サーバ側のレスポンス速度による所が大きいと思われます。 質問時に挙げた例では記述されていませんが、実際に問題となっている部分では、Submit時にファイルのアップロードを行っています。 その為、画面の更新が行われなかった場合に一目瞭然で、問題となっていました。 >>悠様 imgのonloadイベントでの制御を確認してみようと思います。 ありがとうございました。 また、同様の発想でJavaScriptの「image.complete」を使用し、読み込み完了時まで次の動作をさせない実装も試してみようと思います。 | ||||
|
投稿日時: 2006-04-19 11:55
余計な事かも知れませんがsrc属性を変更するならalt属性も変更した方がいいと思います。
画像を読み込まない設定にしている人もいますから。 |
1