エラーメッセージのジャンプ方法とAjaxの使用について

このQ&Aのポイント
  • Webアプリの入力フォームでエラーメッセージを表示する際、ページの先頭に戻るためスクロールする必要がある問題が発生しています。
  • エラーメッセージがサーバーから返ってきたときに、ページの任意の箇所までジャンプさせる方法はありますか。
  • JavaScriptのチェックやAjaxの使用など、現状のやり方では解決できないか検討しています。
回答を見る
  • ベストアンサー

任意の場所にジャンプさせるには

あるWebアプリを制作していてそのWebアプリのあるページの下部には 入力フォーム(テキストエリアが1つ)があります。 入力フォームで入力した内容をサーブレットでチェックして エラーメッセージを入力フォームの部分に表示するようにしています。 しかし、プログラムがエラーを返して画面がリロードされたときの位置はページの先頭であり、 入力フォームのあるページの下部までスクロールしないとメッセージを確認することが できないです。エラーメッセージがサーバーから返ってきたときにページの任意の箇所まで ジャンプさせる方法はありますでしょうか。 JavaScriptによるチェック、もしくはAjaxを用いるという代替方法もあるかとは思いますが 現状のやり方では無理なのでしょうか。

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

遷移先の画面でアンカーを動的に出すようにして、フォームのあて先にそのアンカーを付ければ良いのでは? 遷移前) -------------------------------- ・ ・ <form action="/xxxx/xxxx.do#focus_pos"> ・ ・ ---------------------------------------- 遷移後) -------------------------------- ・ <a name="focus_pos"></a><!-- この行をJSPなどでフォーカスしたい位置に出力 --> <form action="/xxxx/xxxx.do#focus_pos"> エラーです! ・ ・ ----------------------------------------

unko347
質問者

お礼

ご回答ありがとうございます。 早速試してみたいと思います。

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 JavaScriptを併用してエラーがあった場合のonloadでその特定の場所にスクロールするようにすれば良いのではないでしょうか。 エラーメッセージとエラー場所を返すようにするイメージです。

unko347
質問者

お礼

ご回答ありがとうございます。 下記のように任意の場所にスクロールさせるJavaScriptの ライブラリがありましたので試してみたいと思います。 http://user1.matsumoto.ne.jp/~goma/js/ps2.html

関連するQ&A

  • Webブラウザにてページのりロードを行ってもフィールド値を消さない方法?

    どうしても解らない為教えてください。Webブラウザにてアンケート入力フォームが有るとします。アンケート入力フォームには複数の入力フィールドがあり、そのフィールドに値が入っている状態でページのリロードを行うとフィールド値が消えてしまいます。ページのリロードを行い、且つフィールド入力値を保持する方法は有りますでしょうか?リロードはフォーム上にボタンを作成しonclickイベントでlocation.reload()にてリロードしています。宜しくお願い致します。

  • JSP/サーブレットで一般的な入力チェックの仕組みについて

    JSP/サーブレットで一般的な入力チェックの仕組みについて いつもお世話になります。 JSP/サーブレットでWebシステムを作っています。 特別なフレームワークは使っておらず、素のJavaだけで作っているのですが、JSP/サーブレットでWebシステムを開発する場合で、入力チェックでエラーがあった場合、 下記のような動作を実現したいのですが、一般的にはどのような作りになるのでしょうか。 ・画面の入力内容はそのまま ・メッセージ領域にエラーメッセージを表示 ・エラーがあった項目を赤くする これらはJavaScriptでしか実現する方法は無いように思っていますが、できればJavaScriptは 使用しない方向で、最悪3番目はできなくてもよいです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • Andoroid

    HTML5でWEBアプリを作ったのですが、 アンドロイドで文字入力後、実行を押すとページがリロードされてしまうのですが、 何か良い方法はないでしょうか。 IPHONEで文字入力後、完了を押下するとページはリロードされません。 文字入力は単純な<input type="text">です。 宜しくお願い致します。

  • CakePHPのバリデーションエラー表示について

    CakePHPの入力フォーム作成中で、バリデーションエラーがあった場合、{$form->error('')}で各項目部分にエラーを表示させています。 しかし入力項目が多いため、ページ下部でエラーが発生しても、エラーが起きているのかどうかひと目では分かりません。 1つでもバリデーションエラーがあったとき、ページ上部にエラーメッセージ表示をするにはどうすればよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • リロード時

    送信ボタンを押すと一度リロードしてから送信するフォームを作ろうとしているのですが、  location.reload() でリロードすると入力されていたテキストフィールドの中身が空になったり、チェックボックスのチェックがはずれたりします。入力されたデータはそのままでリロードだけするいい方法はないでしょうか?

  • ajaxの使いどころ

    現在、会員制のWebサービスを作成しています。 まだ初期段階ですが、今は管理者用のユーザー管理ページに着手しており、サーバーサイド、クライアントサイド合わせて、およそ7割程度完成しているいるところです。 このページの現時点での実装では、ユーザーの削除、復活、パスワードリセット、登録情報の変更、新規ユーザーの登録といった全機能でajaxを使っています。 また、処理対象のユーザーは一覧のテーブルをクリックして選択するのですが、このクリック時にサーバーからユーザーの詳細情報を取得しており、ここでもajaxを使っています。 要するに、1ページ取得したあと、そのページ内でサーバーと通信を行う必要が生じたら、それはすべてajaxを使うという決まりです。 そこで、ajaxの運用についていくつかわからない点があり、質問させて頂きます。 (1) 会員専用ページという性質を考えると、ajaxでリクエストを送信した際にも、サーバーサイドではそのリクエストに対するセッションが有効かどうかをチェックする必要がありますよね? 一般的な会員向けWEBサービスでは、"ページ遷移毎"だけでなく、"ajaxでの通信毎"でもセッションのチェックを行うものなのでしょうか。 (2) ajaxでの通信時にセッションの有効性をチェックした結果、すでにタイムアウト等でセッションが無効な場合、一般的にはどうするべきなのでしょうか。 個人的にはlogoutページにリロードしたいと考えているのですが、このようにするには、サーバー側がレスポンスを返すときに、{error:{code:'1',message:'session_out'}}のようなJSONを返して、それをjavascript側で確認し、location.hrefを書き換える、というような流れで処理を行うことになるのでしょうか。 (3) そもそも、今回のように「1ページ内で生じるサーバー間通信は全てajaxで補う」という考え方は、一般的なものなのでしょうか。 なにが言いたいかというと、"セキュリティ等を考慮してajaxを使うべきではない処理"と"ajaxを積極的に使うべき処理"(もしくは、"ajaxを使っても差し支えない処理")の判断の仕方、つまり、ajaxの使いドコロがよく分かっていません。 以上3点につきまして、ご教授いただければ幸いです。

    • ベストアンサー
    • AJAX
  • jsp サーブレットについての質問です

    サーブレット初心者です 開発環境は eclipse http://servletmania.blog137.fc2.com/blog-entry-26.htmlのサイトをみてとりあえずサーブレットの サンプルを動かそうとしたところ動きません・・(泣く)。 サーブレット hoge/src/form_entry/InputServlet.java 入力フォーム hoge/webContent/WEB-INF/NewFile.jsp 入力確認画面 hoge/webContent/WEB-INF/NewFile1.jsp web.xml  hoge/webContent/WEB-INF/lib/web.xml コピペして貼り付けるだけだからエラーはどこにもなかったです 後は配置がおかしいのかと思います 単体でサーブレットのInputServlet.javaを動かしたところ404のエラーが出ています 他は単体でも動きます 動くようにどなたか助けてください

  • WEBサイトをandroidアプリ

    php,mysql,ajaxで作ったWEBサイトを下記内容を満たすように一部だけandroidアプリに変換する方法 はありますか? 1.Google Playからダウンロードが出来る 2.サイトの閲覧はブラウザでない表示で、スマホの画面いっぱいに表示する 3.ネットに接続出来ないとき、ブラウザで一般的に見るページが見つかりませんメッセージでなく、オリジナルのエラーメッセージを表示する。

    • ベストアンサー
    • PHP
  • AJAXでのリロードに関して

    AJAXでのリロードに関して 教えて下さい。 あるページを一定の時間でリロードしたいと考えています。 その際に、javascript を使用すれば、以下のような記述で何分か単位で 自動リロードが可能ですが、それをAJAXにて実現するにはどのように記述 すれば良いでしょうか??? ***** javascript の場合 <TITLE>ページをリロードする方法</TITLE> <SCRIPT TYPE="text/javascript"> <!-- var timer = "300000"; //指定ミリ秒単位 function ReloadAddr(){ window.location.reload(); //ページをリロード } setTimeout(ReloadAddr, timer); //--> </SCRIPT> よろしくお願いします。

    • ベストアンサー
    • AJAX
  • IF文について

    アクセス97での質問です 今、入力フォームを作成してまして、入力チェックのプログラムを作成しているのですが、NULLや文字数等のチェックはうまくいくのですが、どうしてもうまく出来ないのがあるんです それは半角で5文字入力できるテキストボックスがあって その先頭の一文字が半角カナじゃない時にエラーを出したいんです 他のエラーチェックもIF文を使ってやっているので、同じようにIF文で作りたいのですが、いい方法が思い浮かびません わかる方がいらっしゃいましたら教えていただけませんか? 宜しくお願いします

専門家に質問してみよう