• ベストアンサー

ボタンでサブルーチンを実行するには

<input type="button" name="B1" value="書込み" onClick="DataWrite">として サブルーチンを <% sub DataWrite() ・・・・ ・・・・ end sub %>としてもエラーが発生してしまい実行することができません。 どのようにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#151056
noname#151056
回答No.2

根本的にASPを勘違いされているような気がします。 onClick というのはイベントハンドラです。つまり DataWrite 関数は ユーザが WWWブラウザ上で書込みボタンを押したときに起動します。 しかし、<% と %> で囲まれた部分は、[ユーザ側に送信される前に] サーバ側が実行し、処理した結果に[置き換えられる]のです。 大まかな流れは以下のようになります。 1.ユーザが WWWブラウザで、あるASP ファイルを要求する。 2.サーバ側で該当する ASPファイルの <% %> 部分を処理して HTML 形式に変換する。 3.変換されたデータが、ユーザのWWW ブラウザへ送信されて表示される。 4.ユーザが書込みボタンを押す。etc. つまり<% %>の間で response.write を使って DataWrite 関数を記述させ、 onClick="DataWrite()" で呼び出させることになります。

noname#4956
質問者

お礼

回答ありがとうございました。 私は、ASPは初めてですのでttyさんの指摘通りで、 根本的にASPを分かっていないみたいです。 response.writeで関数(データベースへの書込み)を記述するにはどのようにすればいいのか分かりませんので、これから勉強しようと思います。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ボタンを押したら何かを行なうということは、クライアントサイドのスクリプトを記述しようとしてるんですよね。 <SCRIPT LANGUAGE="VBScript"> sub DataWrite() ・・・・ ・・・・ end sub </SCRIPT> と記述してみてください。 ASPのサーバーサイドのスクリプトとごちゃまぜになってますよ。(^o^)

すると、全ての回答が全文表示されます。
noname#25358
noname#25358
回答No.1

 OnClickのところにカッコがついてないんですよ。  引数がなくてもカッコは省略できませんから、   onClick="DateWrite()"  とすればいいです。

すると、全ての回答が全文表示されます。

関連するQ&A