C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: レガシASPでボタンのイベントを切り分ける


(過去ログ 90 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■53178 / inTopicNo.1)  レガシASPでボタンのイベントを切り分ける
  
□投稿者/ 前田暑子 (1回)-(2010/09/05(Sun) 19:14:06)

分類:[レガシ ASP] 

ASP上に各種ボタンを配置しております。
またサーバには処理に応じたVBスクリプトを既に用意してあります。
押されたボタンによって動かすスクリプトを判断したいため考えたのですが、
asp上にdocument.getElementById('hidSelectData').value = '1'といった感じでJavaScriptで
<input type=hidden id=hidSelectData value="">にデータを入れてあげようかと思っていますが
これを読み取る手段がどうしたらいいか思いつきません。
たぶんスクリプトでaspを舐めるようにループさせておくプログラムが必要?なんて思っていますが
詳しい方御教示いただけないでしょうか?
よろしくです。
引用返信 編集キー/
■53202 / inTopicNo.2)  Re[1]: レガシASPでボタンのイベントを切り分ける
□投稿者/ 魔界の仮面弁士 (1795回)-(2010/09/06(Mon) 19:16:40)
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") で受け取って下さい。

引用返信 編集キー/
■53371 / inTopicNo.3)  Re[2]: レガシASPでボタンのイベントを切り分ける
□投稿者/ 前田暑子 (2回)-(2010/09/11(Sat) 13:42:34)
ありがとうございます
変身遅くなってごめんなさい(あせ)

教えていただいた方法を試してなんとか動きました

ありがとうございました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -