• ベストアンサー

ボタンの飛び先を一つにして、押したボタンのプロパティを変更するには?(超初心者)

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

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.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>

tmp_
質問者

お礼

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

tmp_
質問者

補足

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

その他の回答 (1)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

そのまんま引数を渡すなんてのは当たり前すぎますかね.... 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

tmp_
質問者

お礼

教えていただいてありがとうございます。 Case~ でも、もちろん、OKなんです。 (If~Then~でもいいですよね) ただ、 popesyuさんのスクリプトで言えば、 「'処理」の部分は、全部同じになるんです。 だったら、押された、"button" が何かを判別してくれるようなシステム変数みたいなものないのかなぁと思って質問したんです。(それがあれば、一行ですむんじゃないかなぁと思ったもので。)   button+~押した番号のような変数~ を → みんな同じ処理 ・・・ってやっぱり無理なんですかねぇ。 でも、ありがとうございました。初心者ですので、変な質問ですみません。

tmp_
質問者

補足

>「'処理」の部分は、全部同じになるんです。 ちょっと誤解しやすい表現ですが、正確には、 全部同じ処理(プロパティの変更)を、 押したボタンに関してのみ行うということです。 つまり、 button1 が押されたら、 button1 の画像だけが sample.gif に変わって、 button2 が押されたら、 button2 の画像が sample.gif に変わります。 画像だけじゃなくほかのプロパティも同様に、 同じ処理になるので、  button X の画像を sample.gif に変更 と考えて、X の部分だけ判別できないかなと思ったのですが、そんな変数ないのかなぁ・・・

関連するQ&A