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

JavaScript初心者です。よろしくお願い致します。
JavaScriptを使用してメールフォームを作成しています。

「送信」ボタンを押した後、必須項目確認はJavaScriptで作成できました。
「送信」ボタンを押した後、「送信完了」画面(別ページに飛ぶ設定)もJavaScriptで作成できました。
しかし【どちらの動作も一緒に設定】しようとすると上手く動いてくれません。

FORMのonSubmit設定+「送信」ボタン自体に「送信完了」のアラート表示する方法も試してみたのですが「送信完了」アラートが先にでてしまったり…。

「送信完了」の方法は別ページリンクでもアラートでもかまいません。
必須項目+最後に「送信」を押して、送信された後の何かリアクションを入れる方法を探しています。

教えて!Gooも初心者で何か失礼がありましたら申し訳ありません!どうかよろしくお願い致します。

A 回答 (3件)

#2です。



メーラーを起動するタイプなんですね。
ちょっと勘違いしてました。
「送信完了」画面がCGIで、そのCGIによってメール送信していると思ったので。

フォームタグを
<form action="mailto:●@メールアドレス●" method="post" Accept-charset="shift_gis" Enctype="text/plain" name="myform">

サブミットボタンを
<input type="button" name="button" value="送信" onClick="Check();" />

入力項目確認ファンクションを
function Check(){
if(document.myform.name.value==""){
alert("名前を入力してください。");
return false;
}
if(document.myform.email.value==""){
alert("メールアドレスを入力してください。");
return false;
}
document.myform.submit();
location.href="送信完了画面アドレス";
}

に変えてお試しあれ。
    • good
    • 0
この回答へのお礼

ありがとうございます!!!
早速試して思い通りの形ができました。
とても助かりました。有難うございました。

お礼日時:2006/02/21 22:40

<form method="post" action="送信完了画面アドレス" onSubmit="必須項目確認ファンクション">



とタブを書いて、必須項目確認ファンクションでエラーが合った場合、Falseを返せばいけるかと。

function 必須項目確認(){
var errflg;

(項目確認)

if(errflg){
return false;
}else{
return true;
}
}

この回答への補足

お返事感謝いたします。
早速チャレンジしてみました。ありがとうございます。
今の状態はactionにメールアドレスをいれてそのアドレス場所に送信しようとしています。

--------------
<form action="mailto:●@メールアドレス●" method="post" Accept-charset="shift_gis" Enctype="text/plain" name="myform" onSubmit="return Check()">

function Check(){
if(document.myform.name.value==""){
alert("名前を入力してください。");
return false;
}
if(document.myform.email.value==""){
alert("メールアドレスを入力してください。");
return false;
}
return true;
}
--------------
この場合、action="送信完了画面アドレス" を入れてしまうと
「送信先のメールアドレスはどこに?」となってしまって
私のJavaScript初心者の頭がそこで止まってしまいました。
この場合最終送信先はどこに設定すればよいでしょうか。
もしかすると物凄く変な事をお聞きしているかもしれません。すみません。

補足日時:2006/02/20 18:26
    • good
    • 0

HTMLでメールを送信するには、PHPやCGIという


サーバー側のプログラムが必要です。
javascriptではがんばっても送信はできませんので
ご要望の命題を満たす機能はむずかしいと思います。

ちなみに単純に場合分けだけわかればいいのであれば
必須確認ページに飛ばし、必須事項がみたされていれば
そのまま送信ページに飛ばすというフローで
大丈夫だと思います。
    • good
    • 0
この回答へのお礼

お返事感謝いたします。
CGIにしたかったのですが、いろいろな問題からヤメになってしまったので、そのままメールアドレスにリンクする方法を薦めましたが、フォームがよいということでサーバー側のプログラムなしで簡単フォームを作成しようとしています。
やはり無茶でしょうか…。

> 必須確認ページに飛ばし

なるほど…検索してみたらjavascriptで一度必須確認ページ作成の仕方が掲載されていたのでチャレンジしてみます。
ありがとうございました。

お礼日時:2006/02/20 18:19

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