Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Javascriptで行追加後、次画面遷移から戻った場合行追加データ消える

こんにちは

いつもここの掲示板お世話になっております

こちらでこの質問していいのか迷ったのですが
(なんとなくJavascriptかHTMLの問題かと)
いちおうJavaServletで作成されているということで・・・


●入力画面

●登録画面(入力内容エラーチェック)


上記2つの画面があります

●入力画面で、TABLEに「行追加」(insertRow)を行いその入力した後、●入力画面の「登録ボタン」(<INPUT TYPE=SUBMIT>)で登録画面に遷移

この●登録画面で入力された内容をエラーチェックし、エラーがあった場合は、●登録画面にエラー内容を表示
そしてそこに戻るボタン(<INPUT TYPE='BUTTON' onClick='window.history.back()'>)を配置

戻るボタンを押下し、●入力画面に戻ると先ほど行追加した行が消えてしまいます
もちろん行以外の部分(TEXTAERAやチェックボックスなど)は、入力内容がそのまま残っていますがやはり行部分はこの入力画面を開いた状態に戻ってしまうのですかね?

これを登録ボタンを押した時と同じ状態で、戻る方法はありますか?

だらだら説明してしまい見づらいかとも思いますが
すいませんが教えてください

7

回答

8146

閲覧

7件の回答

評価

0

ここはJavaの質問をする場所だから、対象外だな。

historyはブラウザ依存・環境依存が強い(つまり意図どおり動く場合もある)ので、それに頼った作り方をしない。
状態を見えないフレームに常に保持しておいて、それに応じた動きをするように作り込むとか、追加した行の情報まで一緒に持ち回って、history.back()ではなく明示的に送信(<input type="submit" name="history" value="戻る"/>とか)してサーバ側で登録画面を作り直すか。

具体的な方法が分からないならJavaScriptの掲示板で訊く方がいい。

評価

0

>具体的な方法が分からないならJavaScriptの掲示板で訊く方がいい。
おっと、これは前者のようにJavaScriptのみで実現したい場合ね。

評価

0

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

やはり対象外でしたね
すいませんでした

記事の削除ができないようなので削除できませんので
無駄な記事をあげてしまいすいませんでした

評価

0

history.backで戻るからよ。
最初に描画した状態になっちゃうじゃない。

サーバを経由して戻せば描画は操作できるでしょ。

もしくは画面遷移前に状態をcookieにでも入れておくのね。

評価

0

てんこさん

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

やはり再描画をコーディングする方法しかないですよね
とても参考になりました

対象外の質問に関してご回答頂き、本当にありがとうございました

評価

0

おはよう

評価

0

959

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。