- ベストアンサー
javascriptで取得した値をテキストボックスに・・・
IE5.5です。 javascriptで取得した値をテキストボックスに格納したいのですが、 うまくいきません。 <SCRIPT language="javascript"> var varVal=true </script> <form> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </form> javascriptが初心者でよくわからないのですが、 例えば <input type="hidden" name="myVal" value=varValに格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
document.writeもJavaScriptのメソッドなので、Scriptタグで囲んでください。 <form> <SCRIPT language="javascript"> document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); </script> </form> 多分これで上手くいくかと…。 (HTMLはよくしらないため、type='hidden'の意味はよくわからなかったので…手元に辞書もないし… type='text'で確かめてみました→NN4.5) あとひとつ気になった点。 var varVal=true ですが、varは関数の中だけで使う変数を宣言するときに使います。 もしこの代入を何かの関数の中で書いていたら、document.writeのvarValとは違う変数に値を入れていることになります。 varVal=true にしてみて下さい。 ではがんばって下さい。
その他の回答 (4)
- hei-hachi
- ベストアンサー率0% (0/1)
実際にソースを実行してみたところ正しく動いていますね。 >テキストボックスはできていないみたいなんです もしテキストボックスを表示するのが目的なら INPUT TYPE='HIDDEN' → INPUT TYPE='TEXT' ですね。 マルチラインのテキストボックスなら <TEXTAREA> <SCRIPT> document.writeln(varVal); </SCRIPT> </TEXTAREA> となります。
お礼
回答ありがとうございます。 最終的にはhiddenにするのですが、 デバッグのため、見やすくするためにtextを使っていたのでした。 説明不足ですみません。 また何かありましたら宜しくお願いします!
まず、どこでどんなエラーが出ているかを調べる必要があるかな~と思います。 >document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); 後でこの値を使うときにエラーになるのかということなので、その処理とエラーを正確に書いた方が回答が得られやすいと思います。 とここまで書いて、 vaue="+varVal+" これは value="+varVal+" の間違いですか ^^^^^ ということに気がついてのですが、いかがでしょう。
お礼
ああ~すみません。。 それでした。 もっと眼を皿のようにしてみないとだめですね。 おかげさまで動きました。どうもありがとうございます!!
- xruz
- ベストアンサー率50% (72/143)
こんにちはsunnysさん、xruzです。 varValにtrueという文字列を入れたいならば、 var varVal="true"; と書いてみてはいかがでしょうか? var varVal=trueと書くとBoolean型のtrueが入ってしまうと思うんですが。。
お礼
アドバイスありがとうございました。 また質問したときは宜しくお願いします!
補足
xruzさん、アドバイスありがとうございます! 実は、varValに実際に入る値は、その前段階で色々処理した値が 入るので、ここに転記するのは無駄かと思い、 var varVal=trueと、単純に書いてみました。 紛らわしかったですよね、すみません。。 もちろん、var varVal="true"でも、var varVal="aaa"でもこの場合 かまわないのですが、その後の処理が動かなくて困っております・・。 何か他にもお気づきの点がございましたら、またアドバイスよろしくお願いいたします!
ボタンが押されたかしたときにコピーする、というのでいいのでしょうか? それなら、直接Valueに値を入れ込めばいいのでは。 <SCRIPT language="javascript"> function CopyValue(){ var varVal=true document.frm.myVal.value = verVal; } </script> <form name="frm"> <input type="hidden" name="myVal"> <input type="button" onClick="CopyValue()" > </form> 画面読み込み時にセットするのであれば、 <BODY onload="CopyValue()"> でできるはずです。
お礼
親切に教えていただいてありがとうございました。 なんとかなりそうです。 これからも宜しくお願いします!
補足
HIROYOさん、アドバイスどうもありがとうございます。 ボタンでサブミットする方法と、ロード時に読み込む方法 両方試してみたのですが、エラーになってしまい、 テキストボックスはできていないみたいなんです。 何かお気づきの点があれば、補足していただけると嬉しいです・・・。
お礼
親切に何度もアドバイスありがとうございます。 kana-tanさんの方法でなんとかなりそうです。 また質問すると思いますのでその時は宜しくお願いいたします。 ありがとうございました!
補足
kana-tanさん、アドバイスどうもありがとうございます。 実は、ここに転記し忘れただけで、SCRIPTタグでくくってはあったのです。 でもやっぱりエラーになってしまいます。。 他にお気づきの点がありましたらまたアドバイスいただけると嬉しいです。 ※varは、関数の中でだけ使うんですね!知りませんでした・・。