WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:jsでオブジェクト名に変数

0:[投稿] くれあ [2002/04/07 22:08 ][環境:WIN+IE 不明]

最近、インターネットでjavascriptの勉強を始めたんですが、ひとつ分からないことがあります。
オブジェクト名に変数って使えないのでしょうか??

たとえば、フォームで
var form = "form1";
document.form.textbox.value = "コメント";
(この場合は、特に変数を使用する必要はないんですが・・・)
上のように変数を使用してform1というフォームのtextboxという名前のテキストボックスに値を入れるたい場合はどうすればいいんでしょう??
まったく分からないのでヒントだけでもお願いします。


1:[回答] 謎の人R [2002/04/08 04:33 ]

「eval」使うと良いです。2つ、例をあげておきます。

●Javascript
<SCRIPT type="text/javascript" language="JavaScript">
<!--
function test(){
var form = "form1";
eval( 'document.' + form + ".textbox.value = \"コメント1\"" );
alert( "1" );

var form = "form1";
var f = eval( 'document.' + form );
f.textbox.value = "コメント2";
alert( "2" );
}
//-->
</SCRIPT>

●html
<form name="form1">
<input type="text" name="textbox">
<input type="button" name="btn" value="実行" onClick="test();">
</form>


2:[回答] 通りすがり。 [2002/04/08 05:46 ]

最近のブラウザなら、
「getElementsByName」や「getElementById」を使うと良いです。

<head>
<script type="text/javascript">
<!--
function Test() {
 var form = "form1";
 document.getElementsByName(form)[0].textbox.value = "コメント";
}
-->
</script>
</head>

<body>

<form action="" name="form1">
 <p>
   <input type="text" name="textbox" value="">
   <input type="button" value="Test" onclick="Test()">
 </p>
</form>

</body>


3:[完了] くれあ [2002/04/08 17:31 ]

ありがとうございます!
>通りすがりさん&謎の人Rさん
どちらの方法でもやりたかったことができました。
こんなに早く答えていただけるとは本当に感謝です。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World