- - PR -
Servet+JSP+JavaScriptでのデータ受け渡し
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2001-11-02 18:44
またまたお世話になります。
ServletからJSPを呼び出して処理を行うモジュールを作成しています。 JSPで画面のコードを記述しているのですが、その中でJavaScriptも使用しています。 画面を出力して入力項目に入力されたとき、 その値をJavaScriptのコード(document.form.input.value) を利用して取得した後、JSPで用意している変数に格納することは 可能でしょうか? 渡す方法、またそれは無理だというご回答 何かご存知の方、ぜひ教えて下さい。 説明が不十分な点はご質問下さい。 どうぞよろしくお願いします。 | ||||
|
投稿日時: 2001-11-02 23:06
1. JSP はサーバで実行される
2. JavaScript はクライアント(ブラウザ)で実行される 3. サーバ-クライアント間の通信は基本的に HTTP(s) のみである ことを考えてみて下さい。 クライアントからサーバにデータを送るには、HTTP Request を飛ばすしかないわけです。その方法は…GET or POST ですよね(基本的には) さて、JavaScript で取得したデータを GET or POST に載せないといけません。どうしたものか… 方法1) open("http:.....&hoge=" + 変数) など、GET メッセージにする。URL にデータがみえてしまいますが。 方法2) form の hidden フィールドにデータをつっこむ。DOM で。
としておき、JavaScript で <input type=text> に値をほーりこむのと同じ方法で、hiddendata に値をつっこみます(document.form..... = なんちゃら)。 ただし、DOM の扱い方はブラウザに依存しますし、JavaScript をユーザが止めている場合もなきにしもあらずですから、そういう使い方はしないほうが無難でしょう。 | ||||
|
投稿日時: 2001-11-05 10:19
いつもご回答ありがとうございます。
DOMは扱ったことがないので勉強したいと思います。 勉強する前に恐縮ですが質問させて下さい。 Scriptの中でそのままhiddenフィールドにデータをいれるのと DOMを使うのではどのような違いがあるのでしょうか? (作成中のものはボタンを押したときのonClickイベントで Scriptを実行しようとしています。) | ||||
|
投稿日時: 2001-11-05 15:54
あぁ、DOM と書いてしまいましたが、要は JavaScript で代入するってことです。
document.form['hoge'].input['fuga'].value = ほげほげ みたいに(長いことこの方法は使ってないので記憶はあやふや:P)。 このアクセス方法(すなわち、ドキュメントがどういう構造に見えて、どういうアクセス方法があるか == ブラウザの DOM の作り方)がブラウザやバージョンによって違うので、いちいち調べるのも面倒なので、あまりおすすめしません、ということです。 一般向けのサイトならば、JavaScript が off でも最低限の作業はできるような方法を準備すべきですね。 | ||||
|
投稿日時: 2001-11-05 16:20
そうでしたか。ご回答ありがとうございます。
Javaから話が外れますが実はDOMというキーワードから DynamicHTMLの入口に入りかけているのですが もし参考になるサイトなどご存知であれば教えて下さい。 (DHTMLもブラウザやバージョンによってかなり違うようですが。。) | ||||
1
