jspでフォームのvalueを取得する方法

このQ&Aのポイント
  • jspとjavascriptを組み合わせて、フォームの値を取得する方法について調べています。
  • javascriptのdocument.getElementById('id').valueを使用して、フォームの内容を参照することができます。
  • jspからフォームの外からフォームの内容を参照する方法がわからないため、解決方法を探しています。
回答を見る
  • ベストアンサー

jspでformのvalueを取得。

現在、jspとjavascriptを組み合わせたプログラムを組んでいます。 jsp内のフォームから入力した文字列をjavascriptから参照して変換、 変換後の文字列をjspで再取得、 再取得した文字列をjsp内で操作(DBへの登録とprintでの画面への表示) という流れの操作をしたいと考えています。 javascriptでjspのフォームの内容を参照して操作する方法は グーグルで調べて分かったのですが、 (document.getElementById('id').value) jspで、jspのフォームの外からフォーム内の内容を参照する方法が分かりません。 尚、フォームのあるjspと変換後の文字列を受け取るjspは同じプログラムになりますので、 formによる別プログラムへの送信は使えません。 よろしくお願いします。

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

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

こんにちは。 クライアントで動くJavaScriptとサーバ側で動くjspの動きを一度整理したほうが良いと思います。 jspはあくまでサーバ側で動かす言語になりクライアントに返される結果は単純なHTMLになります。 jspで変換された文字を処理したいのであれば一度送信するしかありません。 入力された内容をJavaScriptにて変換してjsp(サーバ側)へ送信 送信された内容(JavaScriptによって変換されたもの)をリクエストから取得し、DBへ登録と画面に表示 こんな流れだと思います。 なんにせよDBへの登録処理がサーバ側でないと出来ません。

inanchu
質問者

お礼

回答ありがとうございます。 jsp(html)のフォームの中身をjavascriptで参照するサンプルを眺めていたので こんがらがってしまいました; jspやjavascriptを勉強し初めて日が浅いので 何が出来るのかがいまいち分かっていないようです。。。 勉強しなおしてきます! ありがとうございました。

関連するQ&A

  • JSPが表示されません

    Apache2+Tomcat4.1+j2sdk1.4.2_06+EclipseでJSPとサーブレットのページを作ろうとしています。 HTMLファイルのフォームの内容をJSPファイルに送り、ServletでDBと参照、登録という流れを作ろうとしています。 aaa.html(ユーザーがデータを入力) ↓(1)フォームの内容を転送 bbb.jsp((2)htmlからの入力をccc.classに中継、(7)返り値を表示) ↓(3)メソッド呼び出し ↑(6)返り値を返す ccc.class(重複の有無確認やDBへの登録メソッド) ↓(4)SQL ↑(5)結果 DB(PostgresSQL) 本に書いてあるのを真似たらlocalhost上ではちゃんと動くようになりました。 つまり、下記のようにaaa.htmlからの転送先をlocalhost:8080/bbb.jspに指定するとうまく作動します。 <form name="form1" method="post" action="http://localhost:8080/bbb.jsp"> しかしながらこれではローカルでしか使えないので転送先を相対パスで指定したらうまくいきません。 <form name="form1" method="post" action="../bbb.jsp"> 外部から参照できるURL(サーバのIPアドレス)でもダメです。 <form name="form1" method="post" action="http://***.***.**.**/bbb.jsp"> 症状としては.jspファイルの最初のHTMLの記述はちゃんと動いているようで画面の色等はちゃんと変わります。 <%.....%>で囲まれたJAVAの記述がまったく作動しません。 /work/org/apache/jspに発生する中間ファイルもlocalhostのときには出来るのですが相対パスにすると出来ません。 どうしたらいいのでしょうか? ひょっとしたらとても初歩的なことかもしれませんがご存知の方がいらっしゃいましたらご教授願いたいと思います。

    • ベストアンサー
    • Java
  • jspでjavascript関数へ引数を渡す方法

    最近Webアプリの勉強をし始めたばかりの初心者です。 今、jspでjavascript関数へ引数を渡す方法がうまくいかず困っています。 以下はjspファイルの該当部分の抜粋です。 やりたいこととしては、画面上で参照ボタンを押したときに、"reference"という文字列を 一度javascript関数を介してサーブレットへ渡すということです。 <head> <script type="text/javascript"> <!-- function func(param){ alert(); document.getElementById("param").name = param; } // --> </script> </head> <form action="/tomcat_test/servlet/hello" method="POST"> <input type="hidden" name="param" id="param"> <input type="button" value="参照" onclick=<%= "func('reference')" %>/> </form> いろいろ調べてみたのですが、なかなかうまくいかずに困っています。 そもそも、参照ボタンを押してもonclickがうまく動いていないようで、 まずその問題を解決したいです。 onclickタグの使い方を間違っているのでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • formでファイルアップロードとテキストデータを送信したい

    JSPとServletでプログラムを作っております。 フォームで次のことをしたいと思っております。 1、DBにファイルをアップロードする。 2、DBにテキストデータを登録する。 この場合、 <form enctype = "multipart/form-data"> <form enctype = "text/plain"> を別個に指定できるのでしょうか? 出来ないとしたらどういう解決方法があるのでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • javascriptの変数値をjspへ渡す方法?

    下記の方法で、テキスト項目から、javascriptで値を取得できました。 この値を、jspの変数Stringへ格納するには、 どうすればよいでしょうか? <%= "<script type=\"text/javascript\" charset=\"UTF-8\">" %> <%= "target = document.getElementById(\"outaddress1\");" %> <%= "target.innerText = document.forms.zip_form.address1.value;" %> <%= "target = document.getElementById(\"outaddress2\");" %> <%= "target.innerText = document.forms.zip_form.address2.value;" %> <%= "target = document.getElementById(\"outaddress3\");" %> <%= "target.innerText = document.forms.zip_form.address3.value;" %> <%= "</script>" %>

  • サーブレットでのFormオブジェクトの取得について

    サーブレットでのFormオブジェクトの取得とBeanUtilsなどなどの質問です。もしかしてJavaScriptで何とかなるかもしれないのですが・・・・ 以下の手順でFormの値はBeanに格納しようと思ってます。 (1)サーブレットでrequest.getParameterNamesを使ってフォームのオブジェクト名を取得 (2)その値をキーにしてrequest.getParameterで取得した値をHashMapに格納 (3)BeanUtilsのBeanUtils.populateでBeanに名前を意識せずに格納 ってな感じでプログラムを作ってます。 オブジェクト名とかサーブレットで意識しなくてよくて便利~って思ってたらチェックボックスを 一度オンにするとリロードしても外れなくなりました。 チェックボックスってチェックされないとrequest.getParameterNamesで取れないんですね。 何とか回避する方法ないでしょうか?

    • ベストアンサー
    • Java
  • StrutsのValidatorで一度に複数のフォームの値を参照する方法

    JSPで書いたログインフォームの入力内容を検証するルールに「パスワードにIDと同じ文字列が含まれているとエラー」という項目を追加しようと思ったのですが、そのためには検証アルゴリズム中でIDとパスワードそれぞれのフォームの内容を取得する必要があります。 ところが、validation.xmlの書式ではBean内のフィールドは一度に一つしか参照できないため、IDとパスワードのどちらか一方しか取得できません。 何とかもう一方も取得できないかと思って色々試してはいるのですが、どうもうまく行かずに困っています。validator-rules.xmlにJavaScriptを記述して直接フォームを取得するという最終手段もあるにはあるのですが、もっとスマートな方法がありましたら何方か御教示お願いします。

    • ベストアンサー
    • Java
  • jspで文字化け

    jspでホームページのフォーム上で入力された文字列を取得し、その内容をMYSQLに登録しているのですが、ローマ数字が入力された場合文字化けします。 なので、INSERT文でエラーになります。 ローマ数字が機種依存型文字だということはわかったのですが、文字化けせずに取得する方法はありますか? 一応パラメータ取得時の request.setCharacterEncoding("Shift_JIS"); は記述しています。 もし文字化けが解消できないようでしたら、 入力チェック等でローマ数字が入力されているときには、 データベースに登録にいかないように、逃げることも 考えているのですが、その方法はありますか? よろしくお願いします。

  • 選択したformの名前を取得する方法

    いくつもあるフォームからクリックされたフォーム名を参照する方法をどなたか教えて下さい。 下のスクリプトが間違っていたり(といいつつ、既に動かないので間違いです)、はじめから出来ないことであればご容赦下さい。 下のスクリプトはフォーム名の取得をするためだけにに書いているものです。 <SCRIPT language="JavaScript"> <!-- function move() {   for(i=0;i<30;i++) { var check="form"+i; if(check==document.forms[i].name) { return document.write("これは→"+check+"です");     }   } } --> <body> <FORM name="form0"><input type="image" src="back.gif" onclick="move()"></form> <FORM name="form1"><input type="image" src="back.gif" onclick="move()"></form> <FORM name="form2"><input type="image" src="back.gif" onclick="move()"></form> ・ ・ ・ <FORM name="form29"><input type="image" src="back.gif" onclick="move()"></form> </body>

  • jspからjavascriptの変数引継ぎ

    jspでデータベースからデータを取ってきて格納した配列をjavascriptでも同じように変数として扱いたいのですがどうすればいいでしょうか? javascriptによってオンマウス時に枠がポップアップし、javascript内で設定した文字を枠内に表示しようとしているため、jspからデータを引き継ぎたいのです。 jspではtitleとhonbunは配列で <form name="form_title"> <input type="hidden" name=title value="<%= title %>" > </form> <form name="form_honbun"> <input type="hidden" name=honbun value="<%= honbun %>" > </form> このように名前をつけ、javascriptでは var taitoru[]= document.form_title.title.value; var honbun[]= document.form_honbun.honbun.value; このように変数に代入しています jsp側ではSPANでオンマウス時にjavascriptを呼び出し、javascriptでは文字が配列のhonbun[0]等をポップアップした枠の中で表示させるようにさせたいのですが 枠そのものがポップアップしません 上記のjavascriptでの変数への代入部分をコメントアウトすると、枠自体は表示されます 配列を丸ごとjavascriptで配列に代入できないのであれば、1データずつ引き継ぐという方法でもいいのですが、どのようにjavascript側で代入すればいいのでしょうか?

  • jspの文字化けについて

    javaでDBから取得したデータをjspで表示する際に 文字化けしてしまいます。化けるのは「~」です。 ちなみに文字コードはshift_JISです。 jspにcontentTypeなども記述してあるし、 色々なサイトを検索して、様々な方法を試したのですが・・。 どなたかご教授お願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう