![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
以下の流れのフローをJSのみで、DBを使わず作成したいのですが・・・
1.入力画面(ブランクチェック)→2.入力内容確認画面(戻る、送信ボタン)→3.完了画面
2.の入力内容はメールで送信させたいです。
以下、試みているのですが、うまくいきません・・・(;;)
すみません、どなたか助けていただけますでしょうか。。。m(_ _)m
<HTML>
<HEAD>
<!-- script type="text/javascript" src="test.js"></script --><!-- メールでフォームのデータを送信する -->
<script type="text/javascript" src="check.js"></script>
<link href="design.css" rel="stylesheet" type="text/css">
<TITLE>データ送信テスト</TITLE>
</HEAD>
<body onload="init()">
<FORM NAME="form1" METHOD="post" ACTION="" ENCTYPE="text/plain" OnSubmit="CheckData(this.form1)">
<TABLE>
<TR VALIGN="top">
<TD>お名前</TD>
<TD><INPUT TYPE="text" SIZE=50 NAME="username" ID="username"></TD>
</TR>
<TR VALIGN="top">
<TD>メール本文</TD>
<TD>
<TEXTAREA NAME="message" COLS=50 ROWS=5 WRAP="virtual" ID="message">
</TEXTAREA>
</TD>
</TR>
<TR>
<TD></TD>
<TD>
<!-- input type="button" value="内容確認" onclick="WriteMail(this.form)" -->
<INPUT TYPE="submit" VALUE="送信内容確認">
<INPUT TYPE="reset" VALUE="クリア">
</TD>
</TR>
</TABLE>
</FORM>
</body>
</HTML>
function init(){
username = document.form1.getElementById("username");
message = document.form1.getElementById("message");
//入力内容確認
function CheckData() {
var okflg;
okflg = 0;
if(username.length == 0){
datacheck(1);
okflg = 1;
}
if(message.length == 0){
datacheck(5);
okflg = 5;
}
try{
if(okflg == 0) {
document.form1.location = "04.html";
}
catch(error){
alert(error.number + "\n" + error.description);
}
}
}
function dataCheck(flag){
//データをチェックする関数
var tempStr = "は必ず入力してください。";
if (flag == 1) {
alert("お名前" + tempStr);
return false;
}
if (flag == 5) {
alert("メッセージ" + tempStr);
return false;
}
return true;
}
//データ送信
function WriteMail() {
try{
if(dataCheck()) {
document.form2.action = "mailto:test@test.co.jp";
contents = ('?subject=' + document.form2.sbj.value);
}
}catch(error){
alert(error.number + "\n" + error.description);
}
}
HTMLとJSを分けており、次の画面でメール送信させたいのですが・・
考え方としてあっていますでしょうか?
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
試したところ、submitされました。
確認メッセージが出たあと、送信されました。
alert("よんでる");があると2回ボタンを押さないとダメなようでしたので
コメントアウトして試しました。
OutlookExpress以外のメーラーではどうなるのかわかりませんが・・
![「JSのみで入力→確認→メールで送信させる」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/c/21170992_5497ef44333a6/M.jpg)
No.1
- 回答日時:
javascriptでメールを出せるのはブラウザやメーラーなど環境に依存し
不正確きわまりないためやめた方がいいでしょう。
やるならサーバーのメール機能をつかったものにすべきだと思います
この回答への補足
的確なアドバイス、ありがとうございます。
そのようにいたしますが、その説得のためにも動かしたいと思います。
サブミットされないのですが、どうしてでしょうか。。。
申し訳ありませんが、ご意見いただければ幸いです。m(_ _)m
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script>
function formload(){
var params = getParameter(decodeURI(location.search));
var str ="";
for(i=0; i < params.length; i++)
{
switch (i) {
case 0:
str += "お名前:" + params[i] + "<br>";
break;
case 1:
str += "メールアドレス:" + params[i] + "<br>";
break;
case 2:
str += "表題:" + params[i] + "<br>";
break;
case 3:
str += "本文:" + params[i] + "<br>";
//str += params[i] + "<br>";
break;
default:
break;
}
document.form2.message.value += params[i] + "\n";
}
// ここの段階で入力チェックをまとめてやっても良い
document.getElementById("result").innerHTML = "入力内容確認:<br>" + str;
}
// Query String から 配列を返す
function getParameter(str){
var dec = decodeURIComponent;
var par = new Array, itm;
if(typeof(str) == 'undefined') return par;
if(str.indexOf('?', 0) > -1) str = str.split('?')[1];
str = str.split('&');
for(var i = 0; str.length > i; i++){
itm = str[i].split("=");
if(itm[0] != ''){
//par[itm[0]] = typeof(itm[1]) == 'undefined' ? true : dec(itm[1]);// 名前を添え字とする場合に有効にする
par[i] = typeof(itm[1]) == 'undefined' ? true : dec(itm[1]);
}
}
return par;
}
function WriteMail() {
alert("よんでる");
document.form2.action = "mailto:tamakosato@.co.jp";
contents = ('?subject=' + "テストメール");
//contents = ((document.mailer.who.options[document.mailer.who.selectedIndex].value) );
}
</script>
<link href="design.css" rel="stylesheet" type="text/css">
</HEAD>
<body onload="formload();" >
<title>test02-受信側</title>
<form name="form2" method="post" action="" enctype="text/plain" OnSubmit="(document.form2.action += contents)">
<div id="result"></div>
<br><br>
<!-- input type=button value="メール送信" onClick=""/ -->
<TABLE>
<!--TR VALIGN="top">
<TD>あなたの名前</TD>
<TD>
<div ID="username"></div>
<input type="hidden" id="username_h" value="" OnChange="WriteMail(this.form)">
</TD>
</TR>
<TR VALIGN="top">
<TD>あなたのアドレス</TD>
<TD><INPUT TYPE="text" SIZE=50 NAME="email" OnChange="WriteMail(this.form)"></TD>
</TR>
<TR VALIGN="top">
<TD>優先度</TD>
<TD>
<SELECT NAME="priority" OnChange="WriteMail(this.form)">
<OPTION VALUE="normal">普通
<OPTION VALUE="urgent">高
</SELECT>
</TD>
</TR>
<TR VALIGN="top">
<TD>表題</TD>
<TD><INPUT TYPE="text" NAME="sbj" OnChange="WriteMail(this.form)"></TD>
</TR -->
<TR VALIGN="top">
<TD>上記内容でよろしければ、「メール送信」ボタンをクリックしてください</TD>
<TD>
</TD>
</TR>
<TR>
<TD><textarea name="message" cols=50 rows=5 wrap="virtual" onchange="WriteMail(this.form)" id="message">
</textarea>
</TD>
<TD>
</TD>
</TR>
<TR>
<TD><INPUT TYPE="submit" VALUE="メール送信">
<INPUT type="button" value="入力内容を修正" onClick="history.back()">
</TD>
<TD></TD>
</TR>
</TABLE>
</FORM>
</body>
</HTML>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
テキストボックスに数字しか入...
-
JavaScriptde途中で、「exit」...
-
ラジオボタンのNullチェック
-
ツリービューのチェックボック...
-
Visual Studioのデザインでの非...
-
returnの役割。どんな時に必要...
-
COBOLの数字チェック
-
フォームの入力チェックをする...
-
関数から一気に抜ける
-
ランダムに問題を出すプログラム
-
プルダウンメニューを選択して...
-
度胸試しのJavaScript
-
jsp javaScript
-
onchangeイベントを強制的に発...
-
Googleモバイル検索の検索結果...
-
追加ボタンを押した際に ok ボ...
-
onclickが動作しない
-
jQuery セレクトボックスで選択...
-
value内に変数を入れたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
ラジオボタンのNullチェック
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
JavaScriptde途中で、「exit」...
-
チェックボックスの有無判定
-
未入力のラジオボタンに、alert...
-
コピペを禁止するtextarea
-
テキストボックスに数字しか入...
-
フォームの入力チェックをする...
-
ドラッグ&ドロップ禁止について
-
JavaScript ログアウト処理
-
ドロップダウンリストボックス...
-
【javascript】 年齢計算
-
Visual Studioのデザインでの非...
-
「本当に削除しますか」が正常...
-
リロードしないようにするには
-
JSのみで入力→確認→メールで送...
-
プルダウンメニューを選択して...
おすすめ情報