こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

メールフォームで必須項目の仕方

メールフォームで必須項目を入力しないと送信できないようにするにはどうすればいいでしょうか?
現在は以下のとおりに書いてありますが、必須項目に書いてなくても送信できてしまいます。

<form method="post" action="CGI">
<h3>お問い合わせフォーム</h3>
<p>*は必須項目です。</p>
<table>
<tbody>
<tr>
<th>お問い合わせ内容*</th>
<td><textarea name="お問い合わせ内容" class="l" cols="40" rows="12"></textarea></td>
</tr>
<tr>
<th>お名前(漢字)*</th>
<td><input type="text" name="お名前(漢字)" class="m"></td>
</tr>
<tr>
<th>お名前(フリガナ)*</th>
<td><input type="text" name="お名前(フリガナ)" class="m"></td>
</tr>
<tr>
<th>E-Mail*</th>
<td><input type="text" name="E-mail" class="l"></td>
</tr>
<tr>
<th>電話番号(半角)*</th>
<td><input type="text" name="電話番号" class="l"></td>
</tr>
</tbody>
</table>
<input type="submit" value="  送信  " class="button"></form>


また必須項目が未入力のときにエラーメッセージ(「お名前が未入力です。」など)を出したいのですがどのようにすればいいですか?

投稿日時 - 2011-07-24 22:04:47

QNo.6897123

すぐに回答ほしいです

質問者が選んだベストアンサー

まずjavascriptでチェックします。
すべて一旦送信してエラーを返すより良いと思います。

<script type="text/javascript">
function inchk(f){var ele="";
for(i=0;i<f.elements.length-1;i++){
if(f.elements[i].value=="") ele+=f.elements[i].name+"が未記入です\n";
}
if(ele){alert(ele);return false;}
}
</script>

<form method="post" action="CGI" onsubmit="return inchk(this)">

ただし、ユーザのブラウザが javascript OFF ですとこれは効きませんから、スクリプトでもチェックが必要ですけどね。
スクリプトは受信データを変数に格納しているところでチェックして確認ページにプリントします。
ここで説明するより、いろいろサンプルを見たほうがいいです。

参考URL:http://webmastertool.jp/

投稿日時 - 2011-07-26 22:31:30

お礼

参考になりました。ありがとうございました。

投稿日時 - 2011-10-27 01:42:30

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)