• ベストアンサー

hiddenのvalueの値を変えたい

おはようございます。 教えていただきたいことがあります。 HTMLのほうに <input type="hidden" name="btn" value=""> と書きます。 それでJavaSctiptのfunctionの中で document.forms[0].btn.value=funcitonの引数; とやっているのですが、hiddenのvalueの中に値が入っていないようです。 どうしてでしょうか? こういう使い方ってできないものなのでしょうか? 宜しくお願いします。

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

  • ベストアンサー
回答No.1

functionから値を設定できるはずですよ。 「forms[0]」ありますが、複数フォームを定義したりはしていないでしょうか? 直接、フォーム名を記述した方が、安全かもしれません。 下記のように作成すれば、動作しました。 <html> <head> <script type="text/javascript"> <!-- function setVal(val) { document.forms.test_form1.btn.value=val document.forms.test_form1.txt.value=val } // --> </script> </head> <body onload="javascript:setVal('abc')"> <form name="test_form1"> <input type="hidden" name="btn" value=""> <input type="text" name="txt" value=""> </form> </body> </html>

yosshi-taka
質問者

お礼

ありがとうございました! 無事解決できました。 rotesKometさんのソースと自分のソースを見比べて直していったらできました。 こんな私に付き合ってくださって本当にありがとうございました!!

その他の回答 (3)

回答No.4

オブジェクトを上手く指せているか?簡単に確認できるのは、 <input type="hidden" name="btn" value="test">として JSのfunction中で alert(document.form.btn.value); で表示してみては?

yosshi-taka
質問者

お礼

書き込みありがとうございました! Eclipseのデバッガ使って見てみたらNullが入ってました。 ちゃんといれてるはずなのになんでー?!ってパニくったのですが、無事解決できました。 ありがとうございました!

  • usa_usako
  • ベストアンサー率40% (14/35)
回答No.3

HTML全体が見えないのでよくわかりませんが、HTMLの中に name="btn"のオブジェクトは複数ありませんか? その場合、 document.forms[0].btn[0].value=funcitonの引数; としてみてください。

yosshi-taka
質問者

お礼

書き込みありがとうございます! 余計な記号(?)とかつけていたみたいで、No1さんのソースを参考にやってみたらうまくできました。 ありがとうございました!

  • mrt136
  • ベストアンサー率35% (33/92)
回答No.2

No.1の方の言うとおりだと思います。 後、参考URLにマイクロソフトが出している無償のスクリプトデバッガを紹介します。 #私は結構これで助かりました。。最近はあまり使っていませんが。。 こちらで、ブレークポイントを置いてオブジェクトの内容を確認する事が出来ます。 一度試してみてはどうでしょうか?

参考URL:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e606e71f-ba7f-471e-a57d-f2216d81ec3d&DisplayLang=ja
yosshi-taka
質問者

お礼

書き込みありがとうございました! デバッガの紹介ありがとうございます。 とりあえずデバッガを使わずに解決できましたが、また壁にぶち当たったら使わせていただきます! 本当にありがとうございました。

関連するQ&A