前回と同じ質問で、不可能との解答で締め切りましたが、
可能との意見が有るみたいですので、再度上げさせてもらいます。

print "<P><INPUT TYPE=submit NAME=\"送信\" VALUE=\"送信\">
<INPUT TYPE=submit NAME=\"削除\" VALUE=\"削除\">
<INPUT TYPE=reset NAME=\"クリア\" VALUE=\"クリア\">\n";
上記のようなコーディングで、ボタンを表示させてますが、
どちらのボタンを押しても、送信しか受け取れません。

どこで、何をどのようにコーディングすれば読みとれるのでしょうか?

A 回答 (3件)

素人なので、間違っているかもしれませんが、



<html>
<head><title>kicker</title></head>
<body>
<form method="post" action="/Scripts/chk.asp">
<input type="submit" name="a" value="INSERT">
<input type="submit" name="b" value="UPDATE">
<input type="submit" name="c" value="DELETE">
</body>
</html>

でどのボタンが押されたかなのですが、

<html>
<head><title>asp test</title></head>
<body>
<%
response.write request("a") & "<br>" & vbcrlf
response.write request("b") & "<br>" & vbcrlf
response.write request("c") & "<br>" & vbcrlf
%>
</body>
</html>

とやると、押されたボタンの値だけが来てます。
たとえば、UPDATEが押されると
request("b")は"UPDATE"ですが、request("a")とrequest("c")は、""となっています。

これで判断できませんか?
    • good
    • 0

 私のところでは全く問題なく判別できるようです。


 試しに下記コードをHTMLとしてデスクトップなどに保存し、各ボタンを押してみてください。

<HTML>
<BODY>
<FORM>
 <INPUT type="submit" name="a" value="INSERT">
 <INPUT type="submit" name="a" value="UPDATE">
 <INPUT type="submit" name="b" value="DELETE">
</FORM>
</BODY>
</HTML>

 HTMLファイル名は何でも構いません。FORMにACTIONを指定していないので、自分自身に送信されます。
 GET渡しされるので、送信後のアドレスを確認してみてください。
 nameが同じだろうと違おうと、押したボタンのNAME=VALUEの組み合わせが送信されるはずです。
 手元にあるIE5.00、NN4.73ではそのようになりました。
 PerlでCGIを書いても、同様に判別することが出来ました。

 試した結果を教えて頂きたいのですが。

# IEの仕様というのは、Microsoftの公式なデータなのでしょうか?
    • good
    • 0

ラジオボタンで送信・削除を選ぶか、削除の方を違うフォームにしてデータを全てhiddenで送るかではないのでしょうか?


メソッドをGET形式にすれば「送信=送信」「削除=削除」
という風に押したボタンの情報?が送られるのですが、やっぱり情報が見えてしまうので如何なものかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング