• ベストアンサー

どなたかおしえてください

初心者なので説明が下手ですみません。 どなたかおたすけください。 ランダムでサーバへ文字を送りたいのですが HTMLを<INPUT type=text name="s" >にして document.form1.s.value = msg[Math.floor(Math.random()*msg.length)];だとうまくいきます。 でも<INPUT type=text name="v[body]" >にして document.form1.v[body].value = msg[Math.floor(Math.random()*msg.length)];だと動きません。 nameに[]が入っているとダメなのでしょうか? name=v[body]は変えられないみたいなので困っています。 どうやったら動くかがんばって考えたけど私では全然わかりません。 どうかご教授お願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

こういう場合は document.form1.elements["v[body]"].value = "・・・"; とします。 ただし最近はフォームに名前をつけてアクセスするのは推奨されていません。 (今回でいう「form1」という名前管理) そこで <INPUT type=text name="v[body]" id="vbody">にして document.getElementById('vbody').value = "・・・" というようにテキストボックスに直接アクセスした方がよいかもしれません。 それと本質的に名前のつけ方が悪いのでこういう管理はあまりなさらない 方がよいかもしれませんね。 (チェックボックスの空配列指定と違い、テキストボックスで配列に する必要はないので・・・)

help9192
質問者

お礼

そうなんですか。。。 ほんとにバカな初心者で、すいません。 とても詳しい説明と解説ありがとうございます。 教えてくださったことは メモ帳に保存して、ゆっくり勉強させてもらいます。 管理とか、がんばってみますね。 本当にありがとうございました。

その他の回答 (1)

noname#49428
noname#49428
回答No.1

document.form1.elements["v[body]"].value

help9192
質問者

お礼

ありがとうございます。 教えていただいたとおりやってみたら動きました。 本当にありがとうございました。

関連するQ&A