JSPからJavaScriptに値を渡すのはformを使えば簡単にできるが
逆は意外と難しい。
JavaScriptで値を取得してから一度、サーバにリクエストを投げないと
画面の再描画が行われないからだ。
が、JavaScriptでformの値を操作できるというところに着目すると
やや反則的ではあるが、サーバにリクエストを飛ばさなくても
JavaScript変数の値を表示することはできる。
つまりformを使うのである。
表示したい項目を
<input type="text" name="xxx" style="background-color: #f5f5dc; border: none;" readonly>
と書いておく。JavaScriptの中では
document.xxxForm.xxx.value= xxxxxx;
とセットしてやれば、セットした値がテキストフィールドに表示されるのだ。
ミソは、テキストフィールドをテキストフィールドでないかのように
見せてしまうところだ。
border:noneで境界線を消し、background-colorで背景色を揃えればOK。
あとはbodyにonLoadを設置して、ページ読み込みのタイミングで
JavaScriptから値を貰えば良い。
え?
ふざけんなって?
まあ、でも、一般の人はソースとか見ないだろうし
一応、表示はできてるヨ。(遠い目)
誰だ、こんな無茶振りしやがったやつは。
逆は意外と難しい。
JavaScriptで値を取得してから一度、サーバにリクエストを投げないと
画面の再描画が行われないからだ。
が、JavaScriptでformの値を操作できるというところに着目すると
やや反則的ではあるが、サーバにリクエストを飛ばさなくても
JavaScript変数の値を表示することはできる。
つまりformを使うのである。
表示したい項目を
<input type="text" name="xxx" style="background-color: #f5f5dc; border: none;" readonly>
と書いておく。JavaScriptの中では
document.xxxForm.xxx.value= xxxxxx;
とセットしてやれば、セットした値がテキストフィールドに表示されるのだ。
ミソは、テキストフィールドをテキストフィールドでないかのように
見せてしまうところだ。
border:noneで境界線を消し、background-colorで背景色を揃えればOK。
あとはbodyにonLoadを設置して、ページ読み込みのタイミングで
JavaScriptから値を貰えば良い。
え?
ふざけんなって?
まあ、でも、一般の人はソースとか見ないだろうし
一応、表示はできてるヨ。(遠い目)
誰だ、こんな無茶振りしやがったやつは。