メール送信フォームで送信したら、違うページへ飛ぶようにするには?

[上に] [前に] [次に]
華ちゃん [E-Mail] 1998/11/18(水) 10:25:18
メール送信フォームで送信ボタンを押したら、めーるの送信をした後、
違うページへ飛んで欲しいんですけど?
CGIは使えないので、ASP,JavaScript,VBScriptだったら出来ます。
教えて下さい。m(__)m

Tiot [HomePage] 1998/11/18(水) 13:10:24
メールの送信フォーム自体はどういった物ですか?
フォームがあって、その内容を(ブラウザの機能で)
エンコードされたまま送るもの?
それともどこかよそのCGIを使ったもの?
ASPに関しては知りませんが。

華ちゃん [E-Mail] 1998/11/18(水) 13:20:06
フォームにユーザーが名前とE-Mailアドレスとか、感想を入力してもらい、それをメールで受け取る感じです。
そうです、エンコードを変換する感じです?
どうもすみません、変なこと質問して。
教えて下さい。

Tiot 1998/11/18(水) 15:05:39
|エンコードを変換する感じです?
というと
http://www.tohoho-web.com/wwwmail1.htm
にあるみたいに、フォームでaction="mailto:xxx@yyy"をつかったもの
(記号とアルファベットばかりのメールが送られてくる)だと
思っていいのでしょうか。そうだと仮定して、話をすすめてしまうと、
上記にあるとほほさんの、htmlソースの
<INPUT TYPE=submit VALUE="  送信  ">のかわりに、
<INPUT TYPE="BUTTON" onClick="mail()" VALUE="  送信  ">とし、
<FORM NAME="">でフォームに名前をつけておいて、ファイルのヘッダ部分にでも
<script language="JavaScript">
<!--
function mail() {
document.FORMNAME.submit();
//サブミットボタンを押したのと同じ効果を起こす
//FORMNAMEは、FORMにつけた名前
location.href="http://www.xxx/aaa.html"; //飛ばしたいURLを指定
}
//-->
</script>
と、書けばよろしいのではないかと。
確認していないので、使う際は、事前にためしてみてください。
ちなみに、質問の趣旨と多少離れますが、
CGIを使う場合は、最後にLocation応答ヘッダをかき出してやるだけです。
print "Location: http://xxx/aaa.html\n\n"; #perlの場合
参考まで。

華ちゃん [E-Mail] 1998/11/18(水) 15:36:01
出来そうなんですけど、とんだ後にエラーメッセージが次のように出てしまいます。
HTTP エラー 405
405 メソッドは許可されていません

Request Line に指定されたメソッドは、要求によって識別されたリソースでは許可されていません。要求するリソースに適切な MIME タイプが設定されていることを確認してください。

この問題が続く場合には、Web サーバーの管理者に問い合わせてください。
本当にすみません。

華ちゃん [E-Mail] 1998/11/18(水) 15:46:50
ソース送ります。
<HTML>
<HEAD>
<TITLE>ご意見ご質問</TITLE>
<script language="JavaScript">
<!--
function mail() {
document.okuru.submit();
//サブミットボタンを押したのと同じ効果を起こす
//FORMNAMEは、FORMにつけた名前
location.href="/aisatu.htm"; //飛ばしたいURLを指定
}
//-->
</script>
</HEAD>
<BODY BGCOLOR=DeepSkyBlue>
<FORM  METHOD="POST" NAME="okuru" ACTION="mailto:chiba@technocrew.co.jp?Subject=ご質問、ご注文の件" ENCTYPE="text/plain" onSubmit="return validation();">
<CENTER>
<FONT SIZE=+3 COLOR=red><B>ご質問、ご注文</B></FONT><BR>
<TABLE ALIGN=TOP BORDER=0 CELLPADDING=5 CELLSPACING=2 WIDTH="100%">
<TR>
<TD ALIGN=TOP><B>お名前</B></TD>
<TD ALIGN=TOP><INPUT TYPE="text" NAME="name" SIZE=30>(必ずお書き下さい)</TD>
</TR>
<TR>
<TD ALIGN=TOP><B>E-Mail</B></TD>
<TD ALIGN=TOP><INPUT TYPE="text" NAME="email" SIZE=55>(必ずお書き下さい)</TD>
</TR>
<TR>
<TD ALIGN=TOP><B>ご住所</B></TD>
<TD ALIGN=TOP><INPUT TYPE="text" NAME="add" SIZE=55>(全部お書き下さい)</TD>
</TR>
<TR>
<TD ALIGN=TOP><B>電話番号</B></TD>
<TD ALIGN=TOP><INPUT TYPE="text" NAME="tel" SIZE=25>(市外局番もお書き下さい)</TD>
</TR>
<TR>
<TD ALIGN=TOP><B>商品・数量</B><BR>(注文したい商品、<BR>数量をお書き下さい)</TD>
<TD ALIGN=TOP><TEXTAREA NAME="syouhin" ROWS=5 COLS=55></TEXTAREA></TD>
</TR>
<TR>
<TD ALIGN=TOP><B>ご意見・ご質問</B><BR>(ご感想など)</TD>
<TD ALIGN=TOP><TEXTAREA NAME="message" ROWS=5 COLS=55></TEXTAREA></TD>
</TR>
</TABLE>
<INPUT TYPE="BUTTON" onClick="mail()" VALUE="  送信  ">   <INPUT TYPE=RESET VALUE="  書き直し   ">
</CENTER>
</FORM>
</BODY>
</HTML>
たびたび、すみません。

Tiot 1998/11/18(水) 22:03:30
こんなかんじでしょうか。
適当に省略してありますので、たりないところは適当に補ってください。
<HEAD>
<script language="JavaScript">
<!--
function mail() {
document.okuru.submit();
location.href="/aisatu.htm"; //飛ばしたいURLを指定
}
//-->
</script>
</HEAD>
<BODY BGCOLOR=DeepSkyBlue>
<FORM METHOD="POST" NAME="okuru" ACTION="mailto:chiba@technocrew.co.jp ENCTYPE="text/plain">
========================省略=================================
<INPUT TYPE="BUTTON" onClick="mail()" VALUE=" 送信 "> <INPUT TYPE=RESET VALUE=" 書き直し ">
</FORM>
</BODY>

<form>タグの書き方に問題があったのだと思います。

でも、この方法ですとメールを送れない場合が多いですし(メール送信機能を持っていないブラウザは結構あります)、掟破りのSjis送信をしているので、できればCGIを利用してやった方がいいです。
ご自身でプログラムを組まなくても、
レスキューさんのhttp://www.rescue.ne.jp/のサービスのひとつで
http://rescue.7777.net/MAIL/で紹介されているメールでコードサービス(無料)などを、
利用すれば可能ですので、ご検討をおすすめします。

華ちゃん [E-Mail] 1998/11/19(木) 09:34:37
Tiotさん、ほんとうにすみません。
別のページに飛んだんですけど、
今度はメールが送れなくなってしまいました。
多分二つの命令を一つのボタンでやる事自体無理だったんですね。
ありがとうございました。

[上に] [前に] [次に]