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も見ています

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

QJavaScriptのwindow.openでリファラーが取得できない。

<SCRIPT language="JavaScript">
<!--
function OpenWin(){
window.open("sample.cgi,"new","width=500,height=250");

}
// -->
<A href="#" onClick="OpenWin()">オープン</a>

上のようにsample.htmlのページ内にwindow.openのJavaScriptを書いています。
sample.cgi内に$ENV{'HTTP_REFERER'}を埋め込んでいるのですがリファラーが取得できません。
window.openの場合はリファラーは取得できないのでしょうか?

Aベストアンサー

リファラーは取得できませんので、わたしならJavaScriptでリファラーを取得してそれをCGIに渡します。。

<SCRIPT language="JavaScript">
<!--
function OpenWin(){
window.open("sample.cgi?ref=" + document.referrer, "new", "width=500,height=250");
}
// -->

後はsample.cgiの中で

use CGI qw(:standard);
$ref = param('ref');

とすれば$refにリファラーの値が入ります。

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既知?IE7でJavaScriptのwindow.openメソッドでエラー

Internet Exploer7にアップデートされた端末において、以下のソースを実行し、「リンク」をクリックした場合、JavaScriptエラーが発生します。

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function OpenWin() {
var win1=window.open("","コード");
win1.location.href="./test.html";
}


//-->
</SCRIPT>
<A HREF="JavaScript:OpenWin()">リンク</A>

色々と試した結果、window.openメソッドの第2引数(上記では"コード"となっている箇所)において、長音(ー)や感嘆符(!)など、記号のような文字を使用した場合、JavaScriptエラーの「引数が無効です」というエラーが表示されます。半角でも同様で、アンダーバー(_)以外の記号文字は大概エラーとなります。第2引数を"コド"のように、記号文字が入らないように記述しなおすと、エラーが発生しません。

この現象はIE6では発生しませんでした。

質問したいのは、この現象は既知のエラーとして伝えられているのでしょうか?ウェブ上で様々な検索をしても同様の現象は報告されていないので、端末固有の現象なのでしょうか?

使用OS:Windows XP SP2
IEバージョン:7.0.5730.11

宜しくお願い致します。

Internet Exploer7にアップデートされた端末において、以下のソースを実行し、「リンク」をクリックした場合、JavaScriptエラーが発生します。

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function OpenWin() {
var win1=window.open("","コード");
win1.location.href="./test.html";
}


//-->
</SCRIPT>
<A HREF="JavaScript:OpenWin()">リンク</A>

色々と試した結果、window.openメソッドの第2引数(上記では"コード"となっている箇所)において、長音(ー)や感嘆符(!)...続きを読む

Aベストアンサー

検証してませんが、そのような属性(window名)にはSGMLやらで
の決まりがあるんで、2バイトは避けたほうがいいです。
推測ですがMS側でそれに気づいて7で修正したのでは?

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

QJavaScript window.openで開く際、そのwindowの背景色を指定したい

親ウィンドウにある画像のサムネイルをクリックすると、子windowにその画像の大きいものが表示されるHTMLを作っています。

その際に、子windowの背景色を黒くしたいのですが、うまくいきません。以下にソースを記載します。

【HTML】
<a href="javascript:void(0);" onClick="winopen('1.jpg')"><img src="1s.jpg" /></a>

【JavaScript】
function winopen(filename)
{var w=window.open(filename,'','width=900,Height=700');
w.focus();
w.document.write("<body bgcolor=black>");
}

このようになっているのですが、これだとw.document.write("<body bgcolor=black>")のところで、窓全体が黒くなってしまい、jpgがなくなってしまいます。
jpgの背景を黒くしたいのですが、どのようにしたらよいでしょうか?

親ウィンドウにある画像のサムネイルをクリックすると、子windowにその画像の大きいものが表示されるHTMLを作っています。

その際に、子windowの背景色を黒くしたいのですが、うまくいきません。以下にソースを記載します。

【HTML】
<a href="javascript:void(0);" onClick="winopen('1.jpg')"><img src="1s.jpg" /></a>

【JavaScript】
function winopen(filename)
{var w=window.open(filename,'','width=900,Height=700');
w.focus();
w.document.write("<body bgcolor=black>");
}

このよ...続きを読む

Aベストアンサー

>w.document.write("<body bgcolor=black>");
これだと、ブラウザの画面が新しいBODYオブジェクト(背景=黒)に
なってしまい、今までの画像もテキストも消えます。

w.document.body.style.background = "BLACK";
このように、既存のBODYオブジェクトのプロパティを変更する方法に
変更してみてください。

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,"");

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

Qwindow.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。

子ウィンドウから
<INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();>

<INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();>
等のボタンを作ってみましたが、無反応でした。

すいません。宜しくお願いします。

Aベストアンサー

普通に実行できると思いますが・・・

//parent.htm
<script>
function jikkou(){
alert("ok");
}
</script>
<input type="button" value="open child" onclick="window.open('child.htm')">

//child.htm
<input type="button" value="jikkou" onclick="opener.jikkou()">

Q