• ベストアンサー

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

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

noname#4956
noname#4956

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

  • ベストアンサー
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)

  • ryoyama
  • ベストアンサー率56% (45/80)
回答No.3

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

noname#25358
noname#25358
回答No.1

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

関連するQ&A

  • ボタンの飛び先を一つにして、押したボタンのプロパティを変更するには?(超初心者)

    VBじゃないかもしれませんが・・・ HTMLファイルに、VBScriptで次のように書いたのですが、 <html> <head>   ////省略/// <SCRIPT>   ////省略/// Sub Button1_OnClick   ////省略///   Call XXXX EndSub Sub Button2_OnClick   ////省略///   Call XXXX EndSub Sub Button3_OnClick   ////省略///   Call XXXX EndSub  :  :  : Sub XXXX   ---ここで、押したボタンのいろんなプロパティを 変更したいのですが・・・変更の内容はどのボタンを押しても同じなので、ここでひとつにまとめたいんですが。たとえば、そのひとつとして、ボタンの画像を変えるとして・・・   Button(押したボタンの).Src = "sampleX.gif" End Sub </SCRIPT> </head> <body>   <input id="button1" type="button" name="button1" src="sample1.gif">   <input id="button2" type="button" name="button2" src="sample2.gif">   <input id="button3" type="button" name="button3" src="sample3.gif">  :  :  : つまり、押したボタンが何であったかを判別して、 維持することができないでしょうか? 素人です。よろしくお願いします。 ボタンは配列にできればしてもかまいません。 見当違いのスクリプトで、ほかにもっとよいスクリプトがあったら教えてください。

  • ボタンを押したときに特定のフレームにページを表示するには?

    タグの知識が全然無くてすみませんが教えて下さい。 端末だけで紙芝居のように見てゆくHTMLを作っています。FrontPage2000を使っています。 上下にフレーム分割されていて、上のフレームがnavi、 下のフレームがcontentだとします。 このとき、naviにロードしたページ上にあるボタンを押したら、 contentにあるページをロードするようにしたいのです。 URLのリンクなら出来るのですが... ページ全体を開きなおすのは <input onclick="top.location='??.htm'" type="button" value="○○" name="B1"> でできたので、 <input onclick="content.location='??.htm'" type="button" value="○○" name="B1"> とか、 <input onclick="location='??.htm'" target='content' type="button" value="○○" name="B1"> とかしてみたんですがダメでした。 こういう場合どのようにしたらいいでしょうか。

    • ベストアンサー
    • HTML
  • ラジオボタンについて

    こんにちは。ラジオボタンについて質問させてください。 <input type="radio" name="area" value="all" onClick="area.value = 'all'" checked>ALL<br> <input type="radio" name="area" value="a" onClick="area.value = 'a'">A<br> <input type="radio" name="area" value="b" onClick="area.value = 'b'">B<br> というHTMLを記述しました。 画面が表示された後にラジオボタンをチェックして実行(別個作成)すると うまく動作するのですが、チェックボタンをチェックしずに (デフォルトの'ALL'選択のまま)実行するとうまくいきません。 どのようにすればうまく動作するのでしょうか?

    • ベストアンサー
    • HTML
  • 実行される順番について

    ボタンを押したら、「aaa.asp」を実行したいのですが、ボタンを押してないのに1番最初に「aaa.asp」が実行されてしまいます。 どこか悪いのか教えてください。 よろしくお願いします。 ------------------------------------------------- <HTML> <%@ LANGUAGE="VBScript" %> <BODY> <INPUT TYPE="BUTTON" VALUE="TEST" Onclick="Test"><br> </BODY> </HTML> <SCRIPT LANGUAGE="VBscript"> sub Test <% Server.Execute "aaa.asp" %> end sub </SCRIPT>

  • フォームボタンのvalueを渡すにはどうしたらいいのでしょうか?

    下記のソースのように「word」というテキストフィールドの 入力チェック後ボタンのvalueをword.phpに渡したいのですがどのようにしたらいいのでしょうか? 入力チェックをせず input type="button"ではなくinput type="submit" にするとword.phpに渡せるのですが・・・ ようはA、B、Cそれぞれのボタンを押した時で word.phpでbtnのvalueをPOSTで受け取り 処理をvalue A、B、Cで分岐させたいんです。 よろしくお願いします。 <html> <head> <SCRIPT language="JavaScript"> <!-- function chk(chkfrm){ var tmp = chkfrm.word.value.length; if(tmp > 50 ){ alert("文字数が多すぎます"); } else{ chkfrm.submit(); } } //--> </SCRIPT> </head> <body> <form name="form" method="post" action="word.php"> <input name="word" type="text" id="word"> <input type="button" name="btn" value="A" onclick="chk(this.form);"> <input type="button" name="btn" value="B" onclick="chk(this.form);"> <input type="button" name="btn" value="C" onclick="chk(this.form);"> </form> </body> </html>

  • コマンドボタンでショットカットキーを実行。

    コマンドボタンでショットカットキーを実行。 <form name="frm1" method="POST" action="・・・"> <TEXTAREA name="t1" cols=50 rows=10></TEXTAREA> <INPUT type="button" value="undo" name="b1" onclick="undo();" width="54" height="0" alt="アンドゥー"> : </form> ↑このフォームで、「undo」ボタンが押されたときに、 <TEXTAREA></TEXTAREA>内のデータをアンドゥ、 つまり、ショットカットの「crtl+z」を実行するようにしたいのですが、 行き詰っております。 javascriptで実現したいと考えているのですが、 分かる方おられましたらご教授願えませんでしょうか。 よろしくお願いします。

  • クリックするとボタンの中の文字が変わるようにしたいんですが一応コードは出来たんですが・・うまくうごかなくて困ってます。

    java スクリプトのONCLICKについて質問があります。 ONCLICKのあとに何個もオプションはつけられないのでしょうか? <INPUT TYPE="button" VALUE=" " ONCLICK="form1.Q8.value += '1';" style="font-size:40pt"><br> にボタンをクリックするとボタンの中に「○」を表示するようにしたいんですが、うまくいきません・・・ 一応こう感じにつくってみたんですが・・・ <html> <head> <title></title> </head> <body> <script type="text/javascript"> function change_label(){ document.form1.label1.value = " ○ "; } </script> <form name="form1"> <input type="hidden" name="Q8" value=""><br> <input type="button" name="label1" value="クリックしてね" onclick="form1.Q8.value += '1';change_label();"> <input type="submit" name="Q9b" value="次へ" style="font-size:25pt"> </form> </body> </html> もしよろしければアドバイスいただけませんでしょうか・・・・

  • フォームの「キャンセル」ボタンを押すと登録されてしまう…

    以下のようなフォームをつくっているのですが、どうもキャンセルを押すと登録されてしまいます。ごうしたらよいでしょうか? <form id='next' name='next' method='post' action='XXX.php'> <INPUT name='next' type='submit' id='next' value='登録する'> <INPUT type='button' value=' 戻る ' onClick='history.back()'> <INPUT name='cancel' type='submit' value='キャンセル' onClick='index.html'>

    • ベストアンサー
    • HTML
  • window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

    window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。 子ウィンドウから <INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();> や <INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();> 等のボタンを作ってみましたが、無反応でした。 すいません。宜しくお願いします。

  • HPボタンの長さが異なる。

    下のボタンが マックの「IE4.5」「IE5.0」「ネスケ4.7」だとちゃんと奇麗に中央に表示されますが、 Windows「IE4.5」「IE5.0」はボタンの長さが異なり ガタガタになります。 windowsでも奇麗に並べるにはどうしたらいいのでしょうか? よろしくご指導お願いいたします。 テストでアップしてあるURLですのでご確認してください。 http://watn.jp/test/ <HTML> <HEAD> <TITLE>++++</TITLE> </HEAD> <!------------------- 中身-------------------> <center> 下のボタンがマックの「IE4.5」「IE5.0」「ネスケ4.7」だと<br> ちゃんと中央に表示されますが、Windows「IE4.5」「IE5.0」は<br> ボタンの長さが異なりガタガタになります。 <FORM> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='kituke.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='sadou.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇◇ " onClick="window.location.href='buyou.html'"><br> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='ivent.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='tenjikai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇       " onClick="window.location.href='butai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇      " onClick="window.location.href='honten.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇◇     " onClick="window.location.href='yono.html'"><br> </FORM> </center> </BODY> </HTML>