- 締切済み
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側で代入すればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- HIRSYU
- ベストアンサー率51% (45/87)
ミスが × out.print("\"" + title + "\""); ○ out.print("\"" + title[i] + "\"");
- HIRSYU
- ベストアンサー率51% (45/87)
あまり上手い説明はできませんが・・・ 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 + "\""); } %>); 数値データの場合はダブルクォーテーションは不要など調整はいる