■No53178 (前田暑子 さん) に返信
> ASP上に各種ボタンを配置しております。
> またサーバには処理に応じたVBスクリプトを既に用意してあります。
<button onclick="〜"> でしょうか。
<input type="button" onclick="〜"> でしょうか。
<form method="…" action="〜.asp"><input type="submit"> でしょうか。
あるいは、ActiveX コントロールでしょうか。
> 押されたボタンによって動かすスクリプトを判断したいため考えたのですが、
その判断は、サーバーサイド/クライアントサイドのどちらで行うのでしょうか?
> asp上にdocument.getElementById('hidSelectData').value = '1'といった感じでJavaScriptで
> <input type=hidden id=hidSelectData value="">にデータを入れてあげようかと思っていますが
> これを読み取る手段がどうしたらいいか思いつきません。
サーバーサイド判定ならこんな感じ。
-------------------------------------
<!-- 略 -->
<%
Dim index
index = 3 '最大番号
Do While index >= 0
If Not IsEmpty(Request.Form("btn" & CStr(index))) Then
Exit Do
End If
index = index - 1
Loop
%>
<form method="POST" name="form1">
<p><input type="submit" name="btn1" value="送信A"></p>
<p><input type="submit" name="btn2" value="送信B"></p>
<p><input type="submit" name="btn3" value="送信C"></p>
<p><%
If index = -1 Then
Response.Write "ボタンを押してください。"
Else
Response.Write CStr(index) & "番目のボタンが押されました。"
Response.Write Server.HtmlEncode(Request.Form("btn" & CStr(index)))
End If
%></p>
</form>
<!-- 略 -->
-------------------------------------
もし、<form action="GET"> を使う場合は、上記の Requst.Form を
Request.QueryString に差し替えてみて下さい。
=====================================
クライアント判定ならこんな感じ。
JavaScript を使って、<input> タグにボタン番号を渡しています。
ここでは動作が見えるよう、type="text" を使っていますが、
実際には type="hidden" の方が良いでしょう。
<!-- 略 -->
<script type="text/javascript">
function fnTest(index)
{
document.forms.form1.txt.value = index.toString();
}
</script>
</head>
<body>
<!-- 略 -->
<form method="POST" name="form1" onsubmit="return confirm('送信しますか?');">
<p><input type="submit" name="btn1" value="送信A" onclick="fnTest(1)"></p>
<p><input type="submit" name="btn2" value="送信B" onclick="fnTest(2)"></p>
<p><input type="submit" name="btn3" value="送信C" onclick="fnTest(3)"></p>
<p><input type="text" name="txt" value=""></p>
</form>
<!-- 略 -->
-------------------------------------
なお、送信されてきた番号は Request.Form("txt") で受け取って下さい。
|