- PR -

Image.srcの変更とSubmit処理の同期について

1
投稿者投稿内容
HK
会議室デビュー日: 2006/04/19
投稿数: 2
投稿日時: 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()が行われるようにしたいのですが、
どのような実装にするべきでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-19 11:16
引用:

HKさんの書き込み (2006-04-19 10:52) より:

結果として、イメージオブジェクトの表示切替が完了する前にsubmit()処理が行われます。
その為、ブラウザ上ではイメージの切替が全く行われていないように見えでしまいなす。
イメージオブジェクトの切替が完了した後にsubmit()が行われるようにしたいのですが、
どのような実装にするべきでしょうか?


同様の実装で試してみましたが、一応画面も更新されていますね。
もっとも、すぐ submit されてしまうので一瞬ですが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-04-19 11:22
 img要素のonloadイベントでイメージのロードが完了したことを確認した後、
画面操作をロックし、タイマーで数秒後にsubmitを実行する、とか。

 imgのonloadイベントで本当に読込完了がトラップできるか、要検証ですが。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-19 11:25
やはり、ブラウザや端末によって結果が左右されるんでしょうか。

  サンプル ページ

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
HK
会議室デビュー日: 2006/04/19
投稿数: 2
投稿日時: 2006-04-19 11:45
さっそくのご助言ありがとうございます。

>>じゃんぬねっと様
イメージオブジェクトの取得に必要な時間によって結果が変化します。
サーバ側のレスポンス速度による所が大きいと思われます。
質問時に挙げた例では記述されていませんが、実際に問題となっている部分では、Submit時にファイルのアップロードを行っています。
その為、画面の更新が行われなかった場合に一目瞭然で、問題となっていました。

>>悠様
imgのonloadイベントでの制御を確認してみようと思います。
ありがとうございました。
また、同様の発想でJavaScriptの「image.complete」を使用し、読み込み完了時まで次の動作をさせない実装も試してみようと思います。
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2006-04-19 11:55
余計な事かも知れませんがsrc属性を変更するならalt属性も変更した方がいいと思います。
画像を読み込まない設定にしている人もいますから。
1

スキルアップ/キャリアアップ(JOB@IT)