WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:どのフォームのどのボタンが押されたか判別するには?

きびたき [WriteDate : Wed Jun 13 17:22:45 2001]

今、ASPでDBを触るページを作っているのですが。
テーブル内の各々のデータについて、表示部の隣に「追加」「削除」ボタンをつけています。
フォームもボタンもデータの各々に対してに動的生成するので、押されたフォーム名やボタン名が獲得できません(=データを特定できません)。
できればクライアント側のVBScriptで処理したい(IEで動けばよいため)のですが、
JavaScriptでも構いません。
やり方を知っている方がいたら、教えて下さい。よろしくお願いします。


チャチャ入れ [WriteDate : Wed Jun 13 18:02:00 2001]

>フォームもボタンもデータの各々に対してに動的生成するので、
>押されたフォーム名やボタン名が獲得できません
>(=データを特定できません)。

その仕様がおかしいと考えるのはわたしだけでしょうか?
動的に生成するにせよ、識別できるように生成する事が出来ないの
ですか?

クライアント側の処理で云々するにしても「追加」「削除」ボタンを
どうやって識別するのかの説明がないと、だれにも答えられない
のでは?


きびたき [WriteDate : Wed Jun 13 18:37:52 2001]

説明が足りなくてすみません。
フォーム、ボタンには各々"データ番号+フォーム識別名(_frm)orボタン固有名(Add,Dell)"がつきます。
ですので、例えば"0001_frm.0001add_OnClick"というイベントをコード上で
指定してやればそれは拾えます(VBScriptの書き方ですが)。
ただ、全てのボタンに対してスクリプトを一つ一つ張ると、ソースが巨大な量になるため、
「フォームをクリックした場合」、「そのボタンが何のボタンであるか」ということを
スクリプトで判別し、その結果から処理を分岐させたいということです。


チャチャ入れ [WriteDate : Wed Jun 13 20:04:25 2001]

すいません。よく分からないんですが、たとえば、具体的にこういう
風にあったとして、
<input type="submit" value="追加" name="B1">
<input type="submit" value="削除" name="B1">
実際にこの二つのボタンがいくつあっても構わないのですが。

nameを同じにしておけば、POST先のASPで、
Request.Form("B1")の値を調べるとどちらが押されたか分かります。

if Request.Form("B1")="追加" then
'追加処理
end if
if Request.Form("B1")="削除" then
'削除処理
end if


チャチャ入れ [WriteDate : Wed Jun 13 20:15:16 2001]

あっ、クライアント側で処理か・・・・
ごめんなさい。クライアント側のスクリプトに疎いもので、
識者にお任せします。

ほんま失礼なゴミレスでした。


バギンズ [WriteDate : Thu Jun 14 00:55:51 2001]

関数の引数で識別コードを渡してあげればいいのでは?
例)
onClick="addsub('0001_frm')"

でも、クライアント側で何のチェックも行わないのであれば、チャチャ入れさんが書いた方法の様にサーバー側で識別する方がいいと思います。


きびたき [WriteDate : Thu Jun 14 11:29:16 2001]

バギンズさん、ありがとうございます。
引数・・・完全にその存在を忘れてました(苦笑)。
多分できると思いますので、この方法でいってみます。
(要求仕様が難儀なものなので、サーバ側で飛び先を判別〜処理することが不可能なのです)

チャチャ入れさんもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World