• ベストアンサー

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に格納された値> といった書き方もできるのでしょうか? よろしくご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#99638
noname#99638
回答No.2

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 にしてみて下さい。 ではがんばって下さい。

sunnys
質問者

お礼

親切に何度もアドバイスありがとうございます。 kana-tanさんの方法でなんとかなりそうです。 また質問すると思いますのでその時は宜しくお願いいたします。 ありがとうございました!

sunnys
質問者

補足

kana-tanさん、アドバイスどうもありがとうございます。 実は、ここに転記し忘れただけで、SCRIPTタグでくくってはあったのです。 でもやっぱりエラーになってしまいます。。 他にお気づきの点がありましたらまたアドバイスいただけると嬉しいです。 ※varは、関数の中でだけ使うんですね!知りませんでした・・。

その他の回答 (4)

回答No.5

実際にソースを実行してみたところ正しく動いていますね。 >テキストボックスはできていないみたいなんです もしテキストボックスを表示するのが目的なら INPUT TYPE='HIDDEN' → INPUT TYPE='TEXT' ですね。 マルチラインのテキストボックスなら <TEXTAREA> <SCRIPT> document.writeln(varVal); </SCRIPT> </TEXTAREA> となります。

sunnys
質問者

お礼

回答ありがとうございます。 最終的にはhiddenにするのですが、 デバッグのため、見やすくするためにtextを使っていたのでした。 説明不足ですみません。 また何かありましたら宜しくお願いします!

noname#99638
noname#99638
回答No.4

まず、どこでどんなエラーが出ているかを調べる必要があるかな~と思います。 >document.write("<input type='hidden' name='myVal' vaue="+varVal+">"); 後でこの値を使うときにエラーになるのかということなので、その処理とエラーを正確に書いた方が回答が得られやすいと思います。 とここまで書いて、  vaue="+varVal+" これは  value="+varVal+" の間違いですか  ^^^^^ ということに気がついてのですが、いかがでしょう。

sunnys
質問者

お礼

ああ~すみません。。 それでした。 もっと眼を皿のようにしてみないとだめですね。 おかげさまで動きました。どうもありがとうございます!!

  • xruz
  • ベストアンサー率50% (72/143)
回答No.3

こんにちはsunnysさん、xruzです。 varValにtrueという文字列を入れたいならば、 var varVal="true"; と書いてみてはいかがでしょうか? var varVal=trueと書くとBoolean型のtrueが入ってしまうと思うんですが。。

sunnys
質問者

お礼

アドバイスありがとうございました。 また質問したときは宜しくお願いします!

sunnys
質問者

補足

xruzさん、アドバイスありがとうございます! 実は、varValに実際に入る値は、その前段階で色々処理した値が 入るので、ここに転記するのは無駄かと思い、 var varVal=trueと、単純に書いてみました。 紛らわしかったですよね、すみません。。 もちろん、var varVal="true"でも、var varVal="aaa"でもこの場合 かまわないのですが、その後の処理が動かなくて困っております・・。 何か他にもお気づきの点がございましたら、またアドバイスよろしくお願いいたします!

noname#1785
noname#1785
回答No.1

ボタンが押されたかしたときにコピーする、というのでいいのでしょうか? それなら、直接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()"> でできるはずです。

sunnys
質問者

お礼

親切に教えていただいてありがとうございました。 なんとかなりそうです。 これからも宜しくお願いします!

sunnys
質問者

補足

HIROYOさん、アドバイスどうもありがとうございます。 ボタンでサブミットする方法と、ロード時に読み込む方法 両方試してみたのですが、エラーになってしまい、 テキストボックスはできていないみたいなんです。 何かお気づきの点があれば、補足していただけると嬉しいです・・・。