textarea内のvalueを書き換えたいんですが、下記のような形だとだめなんでしょうか。

<textarea name="text_name[0]"></textarea>
<textarea name="text_name[1]"></textarea>
<textarea name="text_name[2]"></textarea>

document.enq_form.text_name[1].value = "テキスト";


現状では、text_name[1]がundefinedになってしまいます。
ご教授お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

text_name配列として解釈されてしまっています。



なるべくそのような名前は避けるべきですが、(⇒name_1)
どうしても必要なのであれば、明確的にこれは文字列だと伝える必要が
あります。

document.enq_form["text_name[1]"].value = "テキスト";
    • good
    • 0
この回答へのお礼

ありがとうございます。
無事出来ました。
PHP側で$_POSTより配列で取得したかったため、このような形式になってしまいました。

お礼日時:2009/05/06 20:13

No.1さんのご指摘はそのとおりだと思います。



その他に、textarea って value プロパティがそういう風に使えましたっけ?

<textarea name="text_name0"></textarea>

に対して、

document.enq_form.text_name0.firstChild.nodeValue = "代入文字列";

の方が良いと思うんですが。
    • good
    • 0
この回答へのお礼

>document.enq_form.text_name0.firstChild.nodeValue = "代入文字列";
その書き方の方がかっちょいいですね。
今後はその書き方で書いていきたいと思います。
ありがとうございました。

お礼日時:2009/05/06 20:14

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qtextarea中の

に全置換

<form action="略" method="post" name="foo">
(中略)
<textarea name="bar" rows="4" cols="40">
</textarea>
(中略)
</form>

今、上記のformがあります。
で、このtextarea内の<br>を<br />に全置換するために、
<intut type="button" name="hoge" value="textare内の 「&lt;br&gt;⇒&lt;br /&gt;」を全置換" />
のようなボタンを配置したいです。
で、この<input type="button"(中略) />をおすとJSで<br>を<br />に全置換できるようにしたいのでうが、
どのようにくめばいいのでしょうか?

なお、いま手許ソースがないので、name属性ではなくid属性だったかもしれません。
あるいはnameとidの両方の属性がついてたかもしれません。

どのようにくめばいいかご存じの方、よろしければそのJSの記述をお教えください。

以上、よろしくお願い申し上げます。

<form action="略" method="post" name="foo">
(中略)
<textarea name="bar" rows="4" cols="40">
</textarea>
(中略)
</form>

今、上記のformがあります。
で、このtextarea内の<br>を<br />に全置換するために、
<intut type="button" name="hoge" value="textare内の 「&lt;br&gt;⇒&lt;br /&gt;」を全置換" />
のようなボタンを配置したいです。
で、この<input type="button"(中略) />をおすとJSで<br>を<br />に全置換できるようにしたいのでうが、
どのようにくめばいいのでしょうか?

なお、いま手...続きを読む

Aベストアンサー

>なお、いま手許ソースがないので、name属性ではなくid属性だったかもしれません。
>あるいはnameとidの両方の属性がついてたかもしれません。
name属性か、id属性かによって、ソースは変わってきます。
<input type="button" name="hoge" onclick="sample();" value="textare内の 「&lt;br&gt;⇒&lt;br /&gt;」を全置換" />
<script type="text/javascript"><!--
function sample(){
var ele=document.forms['foo'].elements['bar'],value=ele.value;
if(value)ele.value=value.replace(/<br>/g,'<br />');
}
//--></script>

これでどうでしょうか。

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

Q[javascript][IE] textarea内の改行を消す方法を教えてください。

テキストエリア内の改行をreplaceで除去したいのですが、FireFoxではうまくいくのですがIEではうまく動作しません。
下記のようなソースです。
IEではどのように書けば良いのでしょうか。

<html>
<head>
<script type="text/javascript" language="javascript">
function change_box(){
temp = document.getElementById("in").value;
temp = temp.replace(/\n/g,"");
document.getElementById("out").value = temp;
}
</script>
</head>
<body>
<form>
<textarea id="in" rows="3" >
一行目
二行目
三行目
</textarea><br />
<textarea id="out" rows="3" ></textarea><br />
<input type="button" value="変換" onclick="change_box()">
</form>
</body>
</html>

テキストエリア内の改行をreplaceで除去したいのですが、FireFoxではうまくいくのですがIEではうまく動作しません。
下記のようなソースです。
IEではどのように書けば良いのでしょうか。

<html>
<head>
<script type="text/javascript" language="javascript">
function change_box(){
temp = document.getElementById("in").value;
temp = temp.replace(/\n/g,"");
document.getElementById("out").value = temp;
}
</script>
</head>
<body>
<form>
<textarea id="in" rows="3" >
一行目
...続きを読む

Aベストアンサー

temp = temp.replace(/\r\n/g,"");

これで出来ると思います。

Q