[Seasar-user:12890] Re: ブラウザの戻るボタン使用について
加地 隼也
[E-MAIL ADDRESS DELETED]
2008年 2月 15日 (金) 12:03:00 JST
何度もすみません。
下記プロジェクトを落とし動作の確認を行ないました。
問題がおきませんでした。
それで自アプリとの比較をしていて重要なことをお伝えしていないことに気付きました。
大変申し訳御座いません。
doメソッド処理ですが、javascriptの.click()メソッドによるイベント発生でした。
function doActionHeaderSubMenu(selectLinkId,obj) {
var doSubMenuLinkButton = obj.document.getElementById("doSubMenuLink");
var selectSubMenuId = obj.document.getElementById("selectSubMenuId");
selectSubMenuId.value = selectLinkId;
doSubMenuLinkButton.click();
return false;
}
リンクを押下時に、doメソッドを呼び出したい為、リンクのonclickイベントで上記処理を行ない、doメソッドイベントを発生させていました。
<span id="tdLinkSubMenu"><td><a href="#" onclick="return doActionHeaderSubMenu('sys010000',this);">トップ</a>
隠しで持っているボタンをclickする
<input type="submit" id="doSubMenuLink" value="サブメニュー" style="display:none;" />
一番重要なことをお伝えしていなく、申し訳御座いません。
再度、調査お願いします。
Shinpei Ohtani さんは書きました:
>大谷です
>
>> >> 画面の遷移時ですが、A画面からボタン押下(doメソッド)によりB画面(別サブアプリケーション)に遷移し、B画面で、ブラウザの戻るボタンを使用。
>>
>> この状態ではクライアント側では、A画面を表示していますが、サーバー側ではB画面と認識していると思います。
>> その状態で、B画面に遷移するdoメソッドを押下すると、postbackと認識されて、doメソッドが呼ばれず、A画面のprerender()が呼び出されています。
>> postbackプロパティについてもtrueとなっています。
>> 遷移先とメモリで保持している画面コードが一致しているから起きる現象かと勝手に思っています。
>> ただ、下記メールにあるバリデーションでエラーが発生していることはありません。またHTML にエラーメッセージの表示エリアは存在しています。
>
>teeda-html-exampleに、/view/add/addInput2.htmlと/view/add2/addResult2.htmlがあります。
>これで再現するか確認してもらえないでしょうか?
>こちらの環境(IE6/FireFox2)では同様の操作を行ってもdoメソッドは呼べているようです。
>
>08/02/15 に 加地 隼也<[E-MAIL ADDRESS DELETED]> さんは書きました:
>> 小林 (koichik)様
>> 早速の回答有難う御座います。
>> 早いレスポンスで感謝しています。
>>
>> 2についてですが、解答有難う御座いました。
>> 何とか対応します。対象アプリはヘッダ部にメニューリンクが存在し、
>> どの画面からでも、他サブアプリケーションに遷移出来てしまうため、
>> 全画面に対応を入れないといけないです。
>>
>> ただ、1について詳細を追加させてください。
>>
>> >> 画面の遷移時ですが、A画面からボタン押下(doメソッド)によりB画面(別サブアプリケーション)に遷移し、B画面で、ブラウザの戻るボタンを使用。
>>
>> この状態ではクライアント側では、A画面を表示していますが、サーバー側ではB画面と認識していると思います。
>> その状態で、B画面に遷移するdoメソッドを押下すると、postbackと認識されて、doメソッドが呼ばれず、A画面のprerender()が呼び出されています。
>> postbackプロパティについてもtrueとなっています。
>> 遷移先とメモリで保持している画面コードが一致しているから起きる現象かと勝手に思っています。
>> ただ、下記メールにあるバリデーションでエラーが発生していることはありません。またHTML にエラーメッセージの表示エリアは存在しています。
>>
>> お手数ですが再度ご確認宜しくお願いします。
>>
>>
>>
>> Koichi Kobayashi さんは書きました:
>>
>> >小林 (koichik) です.
>> >
>> >Date: Thu, 14 Feb 2008 16:18:55 +0900
>> >From: [E-MAIL ADDRESS DELETED] (加地 隼也)
>> >To: [E-MAIL ADDRESS DELETED]
>> >Subject: [Seasar-user:12866] ブラウザの戻るボタン使用について
>> >
>> >> 1 doメソッド処理が開始しない
>> >>
>> >> 現象
>> >> 画面の遷移時ですが、A画面からボタン押下(doメソッド)によりB画面(別サブアプリケーション)に遷移し、B画面で、ブラウザの戻るボタンを使用。
>> >> A画面で再度、同ボタン押下で画面遷移をしようとした場合、doメソッドが呼ばれず、psotbackとして処理され、遷移が行なわれない。
>> >> また、postbackの為、初期でセットしたコンボボックスの値等が全て空白になります。
>> >
>> >postback という用語が何を指してるか
>> >分からないのですが,Teeda としては
>> >フォームをサブミットした場合は常に
>> >postback になります.
>> >
>> >戻ってサブミットも通常の postback として
>> >普通に処理されるはずです.
>> >do〜() メソッドが呼ばれないということは,
>> >バリデーションでエラーが発生していることが
>> >考えられます.
>> >
>> >もし HTML にエラーメッセージの表示エリアが
>> >なければ追加してみてください.
>> >
>> >
>> >> 2 サブアプリケーションの画面遷移後戻るボタン押下時
>> >>
>> >> 現象
>> >> 1とほぼ同じですが、変数をサブアプリケーションスコープで宣言し、上記と同じように、
>> >> 他サブアプリケーション(複数のサブアプリケーションから遷移可能な共通画面)に遷移後、
>> >> ブラウザの戻るボタンを使用した場合、戻った画面内の変数はクリアされています。
>> >> その為doメソッドを押下し、処理を行なった場合、nullpointのエラーとなります。
>> >> 正規のルート(画面内ボタン押下)の場合についてはセッションにデータを保持、復元を
>> >> 行なっています。
>> >>
>> >> 解決方法として、 セッションにデータを持たさないといけないでしょうか?
>> >> 戻るボタンの対応を入れる場合、サブアプリケーションスコープは使えないでしょうか?
>> >
>> >サブアプリケーションをまたがって「戻る」
>> >ボタンを有効にするには,現状ではアプリ側で
>> >セッションに状態を保存する必要があります.
>> ># セッションを直接扱うのではなく,
>> ># セッションスコープの Dto を使うのがいいと
>> ># 思いますが.
>> >
>> >
>> >--
>> >Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
>> >
>> >_______________________________________________
>> >Seasar-user mailing list
>> >[E-MAIL ADDRESS DELETED]
>> >https://ml.seasar.org/mailman/listinfo/seasar-user
>> >
>>
>>
>> ----
>>
>> 加地 隼也 [E-MAIL ADDRESS DELETED]
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>--
>=============================
>Shinpei Ohtani
>[E-MAIL ADDRESS DELETED]
>=============================
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user
>
----
加地 隼也 [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内