Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

レイヤー内のフォームの内容を変更するにはどうすれば?

JavaScriptを使って,テキストボックスに書かれている内容を変更できる様にしたいいのですが,フォームがレイヤー内にあるとうまく出来ません。 こちらがソースです。あくまで例です。ボタンをクリックすると書かれている内容が変わります。 <html> <head> <script lauguage="javascript"> function Form_Write(){ document.form.box.value="Click=true"; } </script> </head> <body> <div id=layer style="position:absolute;left:50px;top:50px;"> <form name="form"> <input type="text" name="box" size=20 value="Click=false"> <input type="button" name="button" value="click" onClick="Form_Write()"> </form> </div> </body> </html> これだとIEではうまく作動するのですが,NNだとうまく動きません。 document.layer.form.box.valueにしてもダメです。 document.layer.form has no propertiesというエラーが出ます。 どうすれば出来るのでしょうか?お助け願います。

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

  • ベストアンサー
  • makokoko
  • ベストアンサー率50% (7/14)
回答No.2

document.layer.form.box.value ↓ document.layer.document.form.box.value じゃだめですかねぇ。未テストですが。

c_get_c
質問者

お礼

早速試してみたところ,うまく作動しました。 ありがとうございます。助かりました。 それにしても,documentがもうひとつ来るのかー。 まだまだ勉強不足の様です。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • harisun
  • ベストアンサー率14% (1/7)
回答No.1

ちょっと苦しいやり方かも知れませんが・・・。 とりあえずNN用のスクリプトを書いてみました。 <script lauguage="javascript"> function Form_Write(){ document.layer.document.open(); document.layer.document.write("<form name='form'>"); document.layer.document.write("<input type='text' name='box' size=20 value='Click=true'>"); document.layer.document.write("<input type='button' name='button' value='click' onClick='Form_Write()'>"); document.layer.document.write("</form>"); document.layer.document.close(); } </script> こうして、レイヤー内のタグの記述を書き換えてしまうってやり方はだめですか?

c_get_c
質問者

お礼

documentをlayerの後にひとつ付け加えれば良かっただけのようでしたね。 そう言うやり方もあるのですね。 勉強になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A