• 締切済み

関数の引数を動的に変えたい

ちょっと説明がややこしいのですが……。 <html> <head> <script language="JavaScript"> function PopupActive( PopupID , id) { ・・・(中略)・・・ PopupObj = document.all( PopupID ).style ・・・(中略)・・・ PopupObj.visibility = "visible"; return; } function DocAction(id) { ・・・(中略)・・・ } </script> </head> <body> ・・・(中略)・・・ <%For i=1 To 10%> <a href="javascript:void( 0 )" onClick="javascript:PopupActive( 'Popup1', <%=i%> )">メニュー<%=i%></a><br> <%Next%> <div style="position:absolute; left:0; top:0; width:75px; height:25px; z-index:1; visibility:hidden;" id="Popup1"> <pre class="PopupMenu"> <a class="Popup" href="javascript:DocAction(XXX)">サブメニュー</a> </pre> </div> </body> </html> 上記処理で、divタグ内にあるDocAction(XXX)の、XXX部分に、Forループでのiの値を入れたいのですが、そういうことは可能でしょうか? PopupActive関数内で、例えばPopupObj.pixelWidth=100とすれば、レイヤーの幅を75から100に変えることができるのはわかるのですが、似たような方法で、メニュー1のサブメニューならDocAction(1)、メニュー2のサブメニューならDocAction(2)、というように動的に指定できる方法はないでしょうか? (この例ではForループのiを入れてますが、実際に作りたいプログラムでは、DocActionの引数にどんな値が来るかは不定です)

みんなの回答

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

これってASPかJSPなんでしょうか。 ちょっと詳しくないのでわかりませんが、 メニュー1やメニュー2を<select>で表示しては? 下のサブメニューも同様に・・・ そうするとvalueの値が使えるからそのvalueの値を使ってDocAction(XXX)の部分は埋められると思うのですが。

ryo_f
質問者

お礼

アドバイスありがとうございます。 説明不足ですみません。カテゴリーはちょっと迷ったのですが、ASPやJavaScriptやCSSが混在しているので、「その他」にさせていただきました。 メニューは必ず<a href・・・>でなければならないのです。 CSSは初心者なので、いろいろ調べてはみたのですが、サブメニュー選択時にDocAction(1)、DocAction(2)、・・・と切り分ける方法が見つからなくて。 レイヤー使用も大前提なので、もし不可能ならば、別の処理を考えなくてはなりませんね……。

関連するQ&A