dポイントプレゼントキャンペーン実施中!

VBじゃないかもしれませんが・・・
HTMLファイルに、VBScriptで次のように書いたのですが、

<html>
<head>
  ////省略///
<SCRIPT>
  ////省略///

Sub Button1_OnClick
  ////省略///
  Call XXXX
EndSub

Sub Button2_OnClick
  ////省略///
  Call XXXX
EndSub

Sub Button3_OnClick
  ////省略///
  Call XXXX
EndSub
 :
 :
 :
Sub XXXX
  ---ここで、押したボタンのいろんなプロパティを
変更したいのですが・・・変更の内容はどのボタンを押しても同じなので、ここでひとつにまとめたいんですが。たとえば、そのひとつとして、ボタンの画像を変えるとして・・・

  Button(押したボタンの).Src = "sampleX.gif"

End Sub

</SCRIPT>
</head>

<body>
  <input id="button1" type="button" name="button1" src="sample1.gif">
  <input id="button2" type="button" name="button2" src="sample2.gif">
  <input id="button3" type="button" name="button3" src="sample3.gif">
 :
 :
 :

つまり、押したボタンが何であったかを判別して、
維持することができないでしょうか?
素人です。よろしくお願いします。
ボタンは配列にできればしてもかまいません。
見当違いのスクリプトで、ほかにもっとよいスクリプトがあったら教えてください。

A 回答 (2件)

<input type=button>にsrc属性はあるのですか?


それは置いといて、このようにやればよろしいかと。
Javascriptの例だけどVBSに移植できるはずです。

<script language="javascript">
function ButtonClick(btn)
{
btn.value = btn.name + "を押しましたね";
}
</script>

<form>
  <input type="button" name="button1" onClick="ButtonClick(this)">
  <input type="button" name="button2" onClick="ButtonClick(this)">
  <input type="button" name="button3" onClick="ButtonClick(this)">
</form>

この回答への補足

JScriptってVBScriptに移植とかできるんですね。
初めてでした。勉強になりました。

補足日時:2004/02/12 17:38
    • good
    • 0
この回答へのお礼

ありがとうございました。もやもやが解消されました。
src属性については、作成中のファイルが手元にないときに、
他のPCからgooで質問したため、うろ覚えのスクリプトだったので(すみません^^;)、
間違っていたかもしれませんが、そこのところは問題ないです。ありがとうございました。

お礼日時:2004/02/12 17:35

そのまんま引数を渡すなんてのは当たり前すぎますかね....



Sub Button1_OnClick
  Call XXXX("button1")
EndSub

Sub Button2_OnClick
  Call XXXX("button2")
EndSub

Sub Button3_OnClick
  Call XXXX("button3")
EndSub
 :
 :
Sub XXXX(button)
select case button
case "button1"
  '処理
case "button2"
  '処理
case "button3"
  '処理
end select
end sub

この回答への補足

>「'処理」の部分は、全部同じになるんです。

ちょっと誤解しやすい表現ですが、正確には、

全部同じ処理(プロパティの変更)を、
押したボタンに関してのみ行うということです。

つまり、
button1 が押されたら、
button1 の画像だけが sample.gif に変わって、
button2 が押されたら、
button2 の画像が sample.gif に変わります。

画像だけじゃなくほかのプロパティも同様に、
同じ処理になるので、

 button X の画像を sample.gif に変更

と考えて、X の部分だけ判別できないかなと思ったのですが、そんな変数ないのかなぁ・・・

補足日時:2004/02/11 19:25
    • good
    • 0
この回答へのお礼

教えていただいてありがとうございます。
Case~ でも、もちろん、OKなんです。
(If~Then~でもいいですよね)

ただ、
popesyuさんのスクリプトで言えば、
「'処理」の部分は、全部同じになるんです。

だったら、押された、"button" が何かを判別してくれるようなシステム変数みたいなものないのかなぁと思って質問したんです。(それがあれば、一行ですむんじゃないかなぁと思ったもので。)

  button+~押した番号のような変数~ を → みんな同じ処理

・・・ってやっぱり無理なんですかねぇ。

でも、ありがとうございました。初心者ですので、変な質問ですみません。

お礼日時:2004/02/11 19:22

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