• ベストアンサー

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

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

  • tmp_
  • お礼率82% (76/92)

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

  • ベストアンサー
  • 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

  • レイヤーにある画像を変更したいです。

    ボタンを押したらレイヤー内の画像を変更したいのですが 可能でしょうか? レイヤーでなければできるのですが・・ <html> <head> <SCRIPT language=JavaScript> <!-- function a(fishimg){ document.getElementById('layer1').images[0].src = fishimg; } //!---> </SCRIPT> </head> <body> <form name="form1"> <input type="button" onClick="a('fish2.gif')" value="レイヤーの画像を変えます。"> </form> <DIV id="layer1"> <IMG src="fish.gif"> </DIV> </body></html>

  • ボタンでイメージの変更/Netscapeでエラーがでてしまいます。

    もしかすると単純なことかもしれないのですけど、 どうしても分からないので質問させて下さい。 ボタンを押すたびに次の画像に変わり、 最後の画像のあとは次のページへ進むようにしたいと思っています。 ちょっとした紙芝居のような感じです。 配布されていたスクリプトをもとに以下のようにしてみたのですが、 Netscape4.6で動かすと、次のページに行く時に エラーが発生してブラウザがなんと強制終了してしまいました。 IE5.5とNetscape6ではうまく動いたのですが。。 どうすればエラーにならないでしょうか?? もうひとつ、ボタンをimage buttonにしたいのですけど、そのまま<input type=image>にしてもダメみたいです。image buttonで動作させるにはどうしたら良いでしょうか。 ↓内容はこんな感じです↓ <SCRIPT Language="JavaScript"> <!-- Num = 1 maxPage = 3; function next() { Num = Num + 1; if (Num > maxPage) { location.href="next.html" } document.myImage.src = "image"+Num+".gif"; document.myForm.page.value = Num; } // --> </SCRIPT> ------------------------------------- <img SRC="image1.gif" WIDTH="100" HEIGHT="100" NAME="myImage"> <form NAME="myForm"> <input TYPE="button" VALUE="次へ" onClick="next()" NAME="button2"> </form> 長々と申し訳ありません。詳しい方どうかよろしくお願いします!!!

  • ボタンを押すたびに画像を切り替えるには?

    まずソースを載せます↓ <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=shift-jis"> <title>ボタンを押すたびに画像を表示します</title> <body bgcolor="#FFFFFF"> <script type="text/javascript"> function func1(str) { document.write('<img src="c:/MyImage/dog1.jpg" width="104" height="91" />'); } function func2(str) { document.write('<img src="c:/MyImage/dog2.jpg" width="104" height="91" />'); } function func3(str) { document.write('<img src="c:/MyImage/dog3.jpg" width="104" height="91" />'); } function func4(str) { document.write('<img src="c:/MyImage/dog4.jpg" width="104" height="91" />'); } </script> </head> <body bgcolor="#FFFFFF"> <form id="myForm" name="myForm"><p> <input type="button" value="ボタン1" name="button1"onclick="func1('dog1.jpg');"> <input type="button" value="ボタン2" name="button2"onclick="func2('dog2.jpg');"> <input type="button" value="ボタン3" name="button3"onclick="func3('dog3.jpg');"> <input type="button" value="ボタン4" name="button4"onclick="func4('dog4.jpg');"> </p></form> </body> </html> 今回の質問内容はボタンを押すたびに画像を表示するjavascriptプログラムです 画像はCドライブ直下のMyImageフォルダにdog1.jpg,,dog2.jpg,dog3.jpg, dog4.jpgを入れています なんで動かないのがわからないです 回答できたらよろしくお願いします

  • 押したボタンをdisabledにしたい。

    ボタンを押したときに、 ボタンの表示を 灰色表示(disabled)に切り替えて、 押せないようにするには、 どうすればいいんでしょうか? ちなみにボタンはテーブルの中に入っています。 かなり省略したサンプルですが、 下に書き出しました。 <head> <script language="javascript"> <!-- function haiiro(){ alert("今、いま!ボタンをdisabled にできるといいな。"); } --> </script> </head> <body> <table> <tr> <td> <form name="frm"> <input name="btn" type="button" value="ボタン" onclick="haiiro();"> </form> </td> </tr> </table> </body>

  • 色をラジオボタンで選択

    エレメントでボタンを押すと色を変えるJavaScriptです。 検索をしながら ボタンで一度変えることはできるようになりましたが <script type="text/javascript"> function effect() { var element = document.getElementById("sample"); element.style.color = '#000000'; } </script> <button onclick="effect()">チェンジ</button> <span id="sample">■□□■</span> ラジオボタンで選択するようにしたいのですが どのようにすればよいでしょうか? うまくいく方法を教えてください。 ブラウザーはGoogle Chrome最新版です。 どうしてもできなければ Firefoxでもかまいません。 <script type="text/javascript"> function effect() { var element = document.getElementById("sample"); element.style.color = '#000000'; } </script> <input type=radio name="colorcode" value="#000000" checked>黒 <input type=radio name="colorcode" value="#ff0000">赤 <input type=radio name="colorcode" value="#00ff00">緑 <span id="sample">■□□■</span>

  • checkboxを全てcheckを画像ボタンで

    一つのフォームの中に、複数のcheckboxのグループがあって そのグループ毎に、全てチェック、解除ボタンをつけているのですが それを画像のボタンで実現したいのですが、どのようにしたらいいでしょうか? *通常のボタンでは動作していますが、画像をボタンにした時に動作しません。 チェックを入れて、その場面にとどまって欲しいのに 画像で作るとチェックを入れて、検索してしまいます。 以下、現在と、画像ボタンのうまく動かないものも書いています。 よろしくお願いいたします。 <SCRIPT language="JavaScript"> <!-- // チェックボックスに使用している名前 chn1 = new Array("bukken_ID[1]","bukken_ID[2]"); // 全てのチェックボックをチェックする function chBxOn1(){ for(i=0; i<chn1.length; i++) { document.nForm.elements[chn1[i]].checked = true; } } // 全てのチェックボックのチェックを外す function chBxOff1(){ for(i=0; i<chn1.length; i++) { document.nForm.elements[chn1[i]].checked = false; } } //--> </SCRIPT> <SCRIPT language="JavaScript"> <!-- // チェックボックスに使用している名前 chn = new Array("ku_area[1]","ku_area[2]"); // 全てのチェックボックをチェックする function chBxOn2(){ for(i=0; i<chn2.length; i++) { document.nForm.elements[chn2[i]].checked = true; } } // 全てのチェックボックのチェックを外す function chBxOff2(){ for(i=0; i<chn2.length; i++) { document.nForm.elements[chn2[i]].checked = false; } } //--> </SCRIPT> <form id="form2" name="nForm" method="post" action="#"> <input type="checkbox" name="bukken_ID[1]" id="bukken_ID" value="1" /> マンション <input type="checkbox" name="bukken_ID[2]" id="bukken_ID" value="2" /> 一戸建て <input type="button" value="全てチェックを入れる" onclick="chBxOn1()" /> <input type="button" value="チェック解除" onclick="chBxOff1()" /> <input type="checkbox" name="ku_area[1]" id="ku_area" value="1"/>住所1 <input type="checkbox" name="ku_area[2]" id="ku_area" value="2"/>住所2 <input type="button" value="全てチェックを入れる" onclick="chBxOn2()" /> <input type="button" value="チェック解除" onclick="chBxOff2()" /> <input type="submit" name="button3" id="button3" value="以上の条件で検索" /> </form> 以下、うまく動かない画像のボタンです。 <input type="image" src="img/allcheck1.gif" alt="全てチェックを入れる" onClick="chBxOn1()"> <input type="image" src="img/riset.gif" alt="チェック解除" onClick="chBxOff1()">

  • JqueryMobileでフォームボタンを非表示

    JqueryMobileを使用している環境下でフォームボタンを非表示にする方法を探しています。 以下はID1の消去ボタンをクリックすると、ID2のボタンが消えることを期待しているものです。 しかし、ID2のボタンは消えませんでした。 どのような方法で、フォームボタンを非表示にできるのでしょうか。 なお、JqueryMobileを使用していない環境では、 問題なくID2のボタンが非表示になることを確認していますので、 JqueryMobile使用時のJavascriptの制限が何かしらありそうなのですが・・・。 <form name="myForm" action="#"> <input type="button" value="消去" name="button1" id ="1" onclick="a()"> <input type="button" value="消えるボタン" name="button2" id ="2" > </form> <script type="text/javascript"> <!-- function a(){ var n = document.getElementById("#2"); n.style.visibility = "hidden"; $('#2').button('refresh'); } // --> </script>

  • VBScript

    ボタンクリックで引数を受け取る方法を教えてください。 ボタンクリックの基本は <button name=b>b</button> <script language="VBScript"> Sub b_onClick です。 <button name=b(1)>b</button> <script language="VBScript"> Sub b_onClick(p) このようにすると関数がコールされませんでした。 どうすれば引数を受け取れますか? 値渡しでよいです。

  • inputタグでサーバにデータを送信しない画像ボタンを作りたい

    サーバにデータを送信しない画像ボタンを作り、 ボタンを押すことでjavascriptを実行し、 画面上の表示を変えたいです。 inputのbuttonタイプでしたら、サーバに送信しないことが分かってるのですが、ボタンを画像にしたいのです。 <input type="button" onclick="..."> そのため下記のようにすると、サーバに送信してしまい、無駄な処理が発生してしまいます。 <input type=image name="AAA" src="xxx.gif"> どなたかご存知の方いらっしゃいましたら、よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • input type="image"でマウスクリック画像変更がうまくいかない

    input type="image" で表示した画像を変更したいのですがうまくいきません。 <form name="form1" action="" method="POST"> <input type="image" src="A.gif" name="A" onclick="ChangeImage();"> </form> <script language="javascript"> function ChangeImage(){ document.form1.A.src="B.gif" } </script> というコードをなんですが、ボタンをクリックしても何も起こりません。 アンカータグを使わずにinputで行いたいのですがどなたかご存じないでしょうか。よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう