C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: ASPでメールフォームについて


(過去ログ 14 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■4618 / inTopicNo.1)  ASPでメールフォームについて
  
□投稿者/ アスプ (1回)-(2007/06/20(Wed) 18:16:19)

分類:[レガシ ASP] 

はじめまして

ASPでメールフォームを作成しています。
ここで必須項目に入力がなければ送信できないようにしたいのですが
いろいろ調べても分からない状態です。
初心者なもので難題かもしれませんがよろしくお願いします

■aspファイル
<BODY>
<%
Dim CRLF
CRLF = Chr(13) & Chr(10)
Set objMail = Server.CreateObject("Basp21")
sMailServer = "aaaaaaa.co.jp"
sTo = "test@aaaaaaa.co.jp"

sOb = "ホームページでのお問い合わせ"
sBody = "貴社名 " & Request.Form("company") & CRLF & "部署名 " & Request.Form("section") & CRLF & "氏名 " & Request.Form("name") & CRLF & "郵便番号 " & Request.Form("zip") & CRLF & "所在地 " & Request.Form("address") & CRLF & "電話番号 " & Request.Form("tel") & CRLF & "Eメール " & Request.Form("mail") & CRLF & "コメント " & Request.Form("comment")

WORD = objMail.SendMail(sMailServer, sTo, "FORM MAIL <test@aaaaaaa.co.jp>",sOb, sBody,"")

Response.Write "メールありがとうございました。"

%>
</BODY>


■HTML
<form action="sendmail.asp" name="reference" method="post">
<input type="hidden" name="title" value="お問い合わせ">
<table border="0" border="0" cellpadding="2" cellspacing="0" width="274">
<tr valign="center">
<td><input type="text" size="30" name="company"></td>
</tr>
<tr valign="center">
<td><input type="text" size="30" name="section"></td>
</tr>
<tr valign="center">
<td><input type="text" size="30" name="name"></td>
</tr>
<tr>
<td><input type="text" size="10" name="zip"></td>
</tr>
<tr>
<td><input type="text" size="40" name="address"></td>
</tr>
<tr>
<td><input type="text" size="40" name="tel"></td>
</tr>
<tr>
<td><input type="text" size="40" name="mail"></td>
</tr>
<tr>
<td><textarea name="comment" rows="10" cols="40"></textarea></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tr height="30">
<td valign="middle" align="center" height="30"><input type="submit" value=" 送信する " class="button"></td>
<td height="30" width="10"><input type="hidden" name="actime"> <input type="hidden" name="appname"> <input type="hidden" name="code"> <input type="hidden" name="version"> <input type="hidden" name="agent"></td>
<td valign="middle" align="center" height="30"><input type="reset" value=" キャンセル " class="button"></td>
</tr>
</table>
</form>

長々となりましたが
よろしくお願いします
引用返信 編集キー/
■4665 / inTopicNo.2)  Re[1]: ASPでメールフォームについて
□投稿者/ いしだ (7回)-(2007/06/21(Thu) 17:30:25)
いしだ さんの Web サイト
こんにちは。
以下のようにJavaScriptでやる方法はどうでしょうか?

<SCRIPT LANGUAGE=JavaScript>
function check() {
    if (document.forms[0].company.value.length == 0) {
        alert('companyが未入力です。');
        return false;
    } else {
        return true;
    }
}
</SCRIPT>
<form onSubmit="return check();" action="sendmail.asp" name="reference" method="post">

引用返信 編集キー/
■4669 / inTopicNo.3)  Re[2]: ASPでメールフォームについて
□投稿者/ アスプ (2回)-(2007/06/21(Thu) 18:21:15)
いしだ 様

ご返答ありがとうございました。
JavaScriptで確認がとれました。

あと、これを複数のinputタグに設定するにはどのようにすればいいでしょうか?
初歩的な質問で申し訳ございません

よろしくお願いします
引用返信 編集キー/
■4670 / inTopicNo.4)  Re[3]: ASPでメールフォームについて
□投稿者/ いしだ (8回)-(2007/06/21(Thu) 18:29:14)
いしだ さんの Web サイト
2007/06/21(Thu) 18:29:57 編集(投稿者)
No4669 (アスプ さん) に返信

if文の条件式のところにつなげていけばいいですよ。

if (document.forms[0].company.value.length == 0 || document.forms[0].company.section.length == 0) {
    alert('入力必須項目が未入力です。');
    return false;
} else {
    return true;
}

のような感じでしょうか。

引用返信 編集キー/
■4673 / inTopicNo.5)  Re[1]: ASPでメールフォームについて
□投稿者/ RASIS (1回)-(2007/06/21(Thu) 21:48:58)
JavaScriptでのチェックはクライアントでのチェックなのであまりお勧めしません。
その必須の度合いにもよりますが、サーバーサイドでチェックした方がいいでしょう。
大体は両方実装してるところが多いと思います。
クライアントサイドはサーバーに負荷をかけないので軽いです。
サーバーサイドは一度サーバーで処理をするので重いってわけじゃないですが、サーバーに処理がかかります。
クライアントサイドの場合はチェックをすり抜けとかできるので、重要な部分では使えません。
その辺を踏まえて、クライアントチェックだけでいいならそれでいいと思いますが
確実に必須にしたいというならサーバーサイドも必要です。

やる事はJavaScriptと同じです。
Scriptで書いてある事をASPの文法で書けばいいだけです。
引用返信 編集キー/
■4681 / inTopicNo.6)  Re[2]: ASPでメールフォームについて
□投稿者/ アスプ (3回)-(2007/06/22(Fri) 09:32:51)
皆様
ご返答ありがとうございます。

現状ではJavaScriptのチェックで進めていこうと思います。

いしだ 様
複数のチェックができました。
ありがとうございました

RASIS 様
助言のほど、ありがとうございます。
後の事も考えてサーバー側での設定も必要になってくると思いますので
勉強しつつ、今後の課題にしていきたいと思います。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -