プロが教えるわが家の防犯対策術!

よろしくお願いします。

formの送信ボタン押下して、action=test.asp と
やっていますが、
test.aspが動作する前に
送信ボタンonclickでhtml内に記述したscriptを動作させたいのですが、どうやればいいでしょうか?

A 回答 (3件)

submit される(前)タイミングで適当な関数を呼出するのは、


<form name="MainForm" method="post" action="sendmail.asp" onsubmit="hantei()">
のようにすれば
<input type="submit" value="サブミット">
のように普通のサブミットボタンで良いです。
そうでないボタンで、onclick 時に submitを実行するには
onclick で呼び出したボタンで
document.MainForm.action="sendmail.asp"
document.MainForm.submit
が必要ですが、そうでない場合は必要有りません。
また、VBScript では、文末に';'が要りません。
というか付けるとエラーになります。
このためにスクリプトが実行されていないのだと思います。
document.MainForm.action="sendmail.asp";
document.MainForm.submit();

document.MainForm.action="sendmail.asp"
document.MainForm.submit
として下さい。
    • good
    • 0
この回答へのお礼

大変詳しくおしえていただいて感謝しております。
どうもありがとうございます。
今後ともよろしくお願いします。

、、、、

ひとつ誤らなければならないことがあります。

昨日、どうにも原因がわからず、ロジックを
msgboxのみにしたところ通りました。

エラーとなっていた原因は、
endifが足りなかったからでした。
どうもすいません!!!



開発にDreamweaverを使用していますが、
「if ・・・ endif」
でendifがなくてもエラーにしてくれないので
気がつきませんでした。


他のQAで、ASP・vbscript開発には
MSのVisual Inter Dev が良いと書いてあったので今後はそれも併用します。

お礼日時:2006/02/17 11:59

先に走らせたいscriptの関数hoge()の最後に


document.フォーム名.action="test.asp";
document.フォーム名.submit();

と書いておいて、フォームボタンは
<input type="button" onClick="hoge()">
とすると、スクリプトが走った最後にtest.aspへ送られると思います。

この回答への補足

早速ありがとうございます。
以下のソースでやってみたのですが、
hanteiの「型が違います」という
エクスプローラのエラーが出てしまいます。

どうすればよいでしょうか?


<script language="VBScript">
sub hantei()
・・・・
document.MainForm.action="sendmail.asp";
document.MainForm.submit();
end sub
</script>

<form name="MainForm" method="post" action="sendmail.asp">
<input type="button" onclick="hantei()" value="送信"/>

補足日時:2006/02/16 19:05
    • good
    • 0
この回答へのお礼

大変詳しくおしえていただいて感謝しております。
どうもありがとうございます。
今後ともよろしくお願いします。

、、、、

ひとつ誤らなければならないことがあります。

昨日、どうにも原因がわからず、ロジックを
msgboxのみにしたところ通りました。

エラーとなっていた原因は、
endifが足りなかったからでした。
どうもすいません!!!



開発にDreamweaverを使用していますが、
「if ・・・ endif」
でendifがなくてもエラーにしてくれないので
気がつきませんでした。


他のQAで、ASP・vbscript開発には
MSのVisual Inter Dev が良いと書いてあったので今後はそれも併用します。

お礼日時:2006/02/17 11:59

formのonSubmitイベントでいいんじゃないでしょうか?


もしくは、送信ボタンのonClickで該当scriptを実行する。

<input type="submit" onClick="hoge()" />
これでいいんじゃないですか?
逆に、何が分からないのかが疑問です。

この回答への補足

早速ご回答ありがとうございます。
以下のソースでやっておりますが、
sendmail.aspが動いて、
関数hanteiが動いておりません。
先にhanteiを動かしてから、
sendmail.aspを動かしたいのですが、
どうすればよろしいでしょうか

<script language="VBScript">
sub hantei()
・・・・
document.MainForm.action="sendmail.asp";
document.MainForm.submit();
end sub
</script>

<form name="MainForm" method="post" action="sendmail.asp">
<input type="button" onclick="hantei()" value="送信"/>

補足日時:2006/02/16 19:10
    • good
    • 0
この回答へのお礼

大変詳しくおしえていただいて感謝しております。
どうもありがとうございます。
今後ともよろしくお願いします。

、、、、

ひとつ誤らなければならないことがあります。

昨日、どうにも原因がわからず、ロジックを
msgboxのみにしたところ通りました。

エラーとなっていた原因は、
endifが足りなかったからでした。
どうもすいません!!!



開発にDreamweaverを使用していますが、
「if ・・・ endif」
でendifがなくてもエラーにしてくれないので
気がつきませんでした。


他のQAで、ASP・vbscript開発には
MSのVisual Inter Dev が良いと書いてあったので今後はそれも併用します。

お礼日時:2006/02/17 11:59

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