- ベストアンサー
フォームボタンを画像にすると…
- 背景色を変えたいテーブルの中にインラインフレームを表示させてあるのですが、フォームボタン(画像)をクリックするとページ全体を更新、の繰り返しになり理想通りの背景色変更になりません。
- フォームボタンを画像にした所、上手く行かなくなりました。環境はMac9.2+IE5.2です。
- 正常な動作+フォームボタン(画像)を再現したいのですが、御教示頂けると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんばんわ。 その画像は、クリックした時に背景色を変更させる為だけに使うのですか? 画像をボタンとして使用しているからではないでしょうか。 (フォームの送信をしてしまっているので更新されてしまう。) 以下のようにしてみて下さい。 <img src="../img/5.gif" width="69" height="49" onClick="my_bgcolor();"> または、 <a href="#" onClick="my_bgcolor();"><img src="../img/5.gif" width="69" height="49"></a> あと、JavaScriptの条件判定部分が間違っていると思いますので以下の通りに修正して下さい。 function my_bgcolor() { a=Math.floor(Math.random()*my_color.length); if ((document.getElementById) && (!document.all)) { document.getElementById("lay0").style.backgroundColor=my_color[a]; } else if(document.all) { document.all("lay0").style.backgroundColor=my_color[a]; } } それでは。
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 ソースは載せて頂けませんか? (^^ゞ
補足
お世話になります。 不要なタグが入っているかとは思いますが、下記にコピペします。フォームボタンは画面下部にあります。 御確認頂けると助かります。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!--//Copyright (C) WEST MiRa http://www.west-mira.jp my_color=new Array(); //使用したい背景色を指定する my_color[0]="#0099CC"; my_color[1]="#a52a2a"; my_color[2]="#336699"; my_color[3]="#993366"; my_color[4]="#CC3333"; my_color[5]="#FF9900"; my_color[6]="#FFCC33"; my_color[7]="#669933"; my_color[8]="#336633"; my_color[9]="#CCCC99"; my_color[10]="#CCCCCC"; my_color[11]="#333333"; function my_bgcolor() { a=Math.floor(Math.random()*my_color.length); if((document.getElementById) && (!document.all)) document.getElementById("lay0").style.backgroundColor=my_color[a]; else if(document.all) document.all("lay0").style.backgroundColor=my_color[a]; } //--> </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"> <tr> <td align="center" valign="middle"> <table border="0" id="lay0" style="position:relative;visibility:visible;" width="494" cellspacing="0" cellpadding="0" bgcolor="#0099FF"> <tr> <td width="494" height="30"><img src="../img/1.gif" width="494" height="30"></td> </tr> <tr> <td> <table width="494" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="38"><img src="../img/2.gif" width="38" height="300"></td> <td width="420" bgcolor="#FFFFFF"><iframe src="test.html" width="420" height="300" align="center" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0" name="test"></iframe></td> <td width="36"><img src="../img/3.gif" width="36" height="300"></td> </tr> </table> </td> </tr> <tr> <td align="center" background="../img/4.gif" height="100" width="494"> <table width="139" border="0" cellspacing="0" cellpadding="0" height="49"> <tr> <td width="69"> <form> <input type="image"src="../img/5.gif" width="69" height="49" onClick="my_bgcolor();" name="button"> </form> </td> <td width="69"><img src="../img/6.gif" width="69" height="49"></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </body></html>
お礼
理想通りの表示になりました。 ありがとうございました。