みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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側で代入すればいいのでしょうか?

投稿日時 - 2008-10-23 03:14:45

QNo.4422670

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

ミスが
× out.print("\"" + title + "\"");
○ out.print("\"" + title[i] + "\"");

投稿日時 - 2008-10-23 14:55:37

ANo.1

あまり上手い説明はできませんが・・・

JSPはサーバ側、JavaScriptはクライアント側。
考え方として、JSPと一緒にJavaScriptが動くのではなく、JSPでJavaScriptの“コード”を作成する。

JavaScriptの変数にJSPの値を入れるには、JSPで「var a = 0」のようなJavaScriptコードを作成する。この時の 0 がJSPの変数値の場合、クライアント側にもJSPの値でJavaScriptが実行される。

最近、JavaもJavaScriptも触っていないので、細かな書式が不正かもしれませんが、以下をサンプル程度にどうぞ。

文字列の例
var title = "<%= title %>";

文字列配列の例
var title = new Array(<%
for (int i = 0; i < title.length; i++ ) {
if ( i != 0 ) {
out.print(",");
}
out.print("\"" + title + "\"");
}
%>);

数値データの場合はダブルクォーテーションは不要など調整はいる

投稿日時 - 2008-10-23 14:54:16

あなたにオススメの質問