お世話になります。
HTMLのテーブル内のイメージをクリックする事でリモートスクリプトを動かし、あるDBにデータを更新しながら、イメージも変更するスクリプトを作成しております。
リモートスクリプトを使ったデータ更新等は上手くいきますが、一点、HTML内で動かすvbscriptで問題が出てしまいました。

object.innerHTML構文のところです。
objectの部分にはASPで動的に変化するIDを代入しなければなりませんが、objectの部分に変数を入れると、変数としてではなく、オブジェクトそのものと認識され、「オブジェクトがありません」というエラーが起こります。

サンプルのソースを如何に記載いたします。
***ソース
<SCRIPT Language="vbScript">
<!--
function updatedata1(id)
id.innerHTML ="<a href='#'><IMG src='img/"&img_name&".gif' border=0 onClick=updatedata1('"&img_name&"')></a>"
End Function
// -->
</SCRIPT>
~ 中略 ~
<TD id= "usr001"><a href="#"><IMG src="img/work.gif" width="30" height="18" border="0" onClick="updatedata1('usr001')"></a></TD>
*****
上記ソース内のvbscriptに対し、onClick="updatedata1('usr001')でinnerHTMLのオブジェクトとなる「usr001」を渡しています。
vbscrptの function updatedata1(id) でusr001をidに代入し、id.innerHTMLとしたところがエラーになります。

onClickでダイナミックに変更をする部分は無限にあるため、inner.HTMLのオブジェクトは変数で変わるようにしたいのですが、方法はありますでしょうか?

宜しくお願い申し上げます。

PS. VBはそれ程得意な言語ではありません。もしかしたらかなり初歩的なミスかもしれませんが、お許しください。

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

A 回答 (1件)

こんにちは。


WSHはよく解らないのであてずっぽうで申し訳ないのですが。。

onClick="updatedata1('usr001')
この時点で'usr001'は文字列です。なのでFunctionのパラメータとして渡った際に
idのデータ型はString型になっていると思われます。
そうすると「'usr001'.innerHTML」というのは構文的におかしいので
エラーになる。。。。と推測されます。(WSH知らないので推測です(^-^;

ブラウザが限定(IE5.0以上)されてしまいますがEval関数は使えないでしょうか?
Eval(id).innerHTML = ~~~

http://www.microsoft.com/japan/developer/library …
http://www.microsoft.com/japan/developer/library …

古いIEに対応しなければならないと言う事ならば。。。他の方よろしくお願い致します。

はずしてたらごめんなさい。
    • good
    • 0
この回答へのお礼

ご回答有難うございました。

Eval関数を用いたところ上手く行きました。
有難うございます。
IE5.0以上の制約ですが、リモートスクリプト自体がIE5.0以上の制約があるようなので、大丈夫です。
(グローバルに公開するWebでは無い為・・・)

WEBアプリケーションは通常PHPかPerlで作るため、VBscriptは素人に近いです(笑)
今回は大変勉強になりました。

判らないことがあったら、また質問投稿しますので、お教え頂けると嬉しいです。

有難うございました。

お礼日時:2002/01/24 18:51

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

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


人気Q&Aランキング

おすすめ情報