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

<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>


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

A 回答 (1件)

まず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/
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/27 01:42

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q退職所得の源泉徴収票の処理について

年の中途で入社した社員から、「給与所得の源泉徴収票」とともに「退職所得の源泉徴収票/特別徴収票」をもらったのですが、この退職所得の源泉徴収票はどのように処理をしたら良いのでしょうか?

Aベストアンサー

処理不要です。本人に返します。
理由
会社で精算(年末調整)できるのは給与所得だけです。
退職所得というように、所得区分が違いますので、分離課税だ確定申告だという前に「会社に提出してもらう書類ではありません」と本人に返戻します。

Qメールフォームで特定項目だけ必須にならないのはなぜか?

下記のフォームでTELだけ必須にならないのは
なぜでしょうか?

http://blowz.co.jp/menu01/apply.html
実験で、確認ボタンなど押してもOKですので
教えて頂けないでしょうか?

ソースのどの部分を変更すればいいでしょうか?

下記のCGIを使っています

http://www.kent-web.com/data/postmail.html kent

Aベストアンサー

ページソースを見ましたが「tel」は必須に指定してないですよ。
「need」項目の value に「tel」を加えれば良いかと思います。

Q退職所得の源泉徴収票

厚生年金基金の一時金を受け取る為、退職所得の源泉徴収票が必要という書類が届きました。勤続年数5年で、会社からの退職金は10万円以下でした。
この様に僅かな金額でも、退職所得の源泉徴収票は発行されるものなのでしょうか?ご回答宜しくお願いします。

Aベストアンサー

退職金も、退職所得として、所定の割合で所得税を払わなければいけません。
ただし、退職所得控除の金額がかなり多いので、退職金から所得税を払わなければいけないケースは稀だったりします。

でも、源泉徴収票で、退職金をいくら支払ったのか証明しないと、退職所得金額が0円だって事も証明しにくいです。

金額がわずかかどうかは、関係ありませんので、少なくとも「退職所得の源泉徴収票を発行してくれ」という申し出は、しても問題ないし、申し出があったら会社は発行しなきゃいけません。

Qメール送信フォーム Enterを押しても送信されないように

http://www.tohoho-web.com/cgi/wwwmail.htm
このメール送信フォームだと、
名前を入れ終わった後にEnterを押すとメールアドレスが
入力されてなくても送信されてしまいます。
これを回避する方法をお願いします。

Aベストアンサー

改造するよりも、入力チェックを実装した
フォームCGIを使用する方が、手っ取り早いと思います。
↓これとか
http://www.futomi.com/library/mpmail_sample.html

・・・何も入力しないで”送信”を押すと
”メールアドレスが正しくありません。”
と、出るでしょ!

参考URL:http://www.futomi.com/library/mpmail_sample.html

Q年末調整の扶養控除について 退職所得の源泉徴収票

年調扶養控除について質問します。

配偶者が
(1)H6.10.1~H18.7.31退職 源泉徴収票の支払金額764,225円
  (11年10ヶ月勤務)        源泉徴収税額1,250円
                   社会保険料等の金額105,818円
      ※退職所得の源泉徴収票の支払金額571,020円
                   源泉徴収額等は0円です。

(2)H18.8.1~H18.11.4退職 源泉徴収票 支払金額599,999円
                   源泉徴収税額2,380円
                   社会保険料等の金額73,571円

現在無職なのですが、「退職所得の源泉徴収票」をどのように配偶者の収入に入れて計算したらいいのかわかりません。配偶者は「配偶者特別控除」にあてはまりますか?「控除対象配偶者にはもちろん入らないですよね。
 
どうぞ宜しくお願い致します。

Aベストアンサー

再び#1の者です。

お書きになられた計算で、バッチリ合っています。
(あっ、今気がつきましたが、私の計算、3千円間違っていましたね、大変失礼致しました。)

退職所得控除額は、最初に掲げたサイトにもありますように、勤続年数×40万円(但し20年超の部分は70万円)で計算すべき事となりますので、お書きになられている通りで間違いありません。

結果的に、6万円の配偶者特別控除を受ける事ができます。

Qフォームメールの送信先アドレスをラジオボタンの項目によって変更したい

こんばんは。

フォームメールの送信先を現在は複数で受け取れるように設定しているのですが、

$sendmail = '/usr/lib/sendmail -t' || die $!;
$myaddress = 'aa*@aaa.co.jp,bb*@bbb.co.jp';

これを、ラジオボタンで選択されている内容によって送信先を振り分けたいのですが、こうゆうことは可能なのでしょうか?

ラジオボタン「A」が選択されたら、
「aa*@aaa.co.jp」と「bb*@bbb.co.jp」に送信する。

ラジオボタン「B」が選択されたら、
「cc*@ccc.co.jp」と「dd*@ddd.co.jp」に送信する。

よろしくお願いします。

Aベストアンサー

フォームからのデータが連想配列(ハッシュ)FORMに入っていて、ラジオボタンの名前がradioだとすると、

$myaddress = ($FORM{'radio'} eq 'A') ? 'aa*@aaa.co.jp,bb*@bbb.co.jp' : 'cc*@ccc.co.jp,dd*@ddd.co.jp';

A、B、C・・・というように3つ以上選択肢があるなら、

if($FORM{'radio'} eq 'A'){
$myaddress = 'aa*@aaa.co.jp,bb*@bbb.co.jp';
}elsif($FORM{'radio'} eq 'B'){
$myaddress = 'cc*@ccc.co.jp,dd*@ddd.co.jp';
}else{ #AでもBでもない→つまり(ここでは)C
$myaddress = '~,~';
}

Q退職所得の源泉徴収票について

 昨年9月に仕事を辞め、まだ無職の状態なので確定申告をしようと思っています。以前の会社から給与所得の源泉徴収票は送られて来たのですが、退職所得の源泉徴収票は退職金があったのに送られて来ていません。退職所得の源泉徴収票は以前の会社から送ってもらわないといけないものですか?普通は2種類共送ってくるものなのですか?

Aベストアンサー

こんにちは。

夫が数年前にリストラされた時、源泉徴収票は給与の分と退職金の分と2通ありましたよ。

ただ、夫は割増退職金を貰ったので、退職金に課税されてました。
通常は課税されるくらい貰うことはないので、必要ないかもしれません。
再就職先が、辞めた会社の下請けで実質再雇用だったので、詳しくは覚えていませんが。

あと、源泉分離課税される退職金というのもあったので、住宅ローン減税のため確定申告したとき、それも一緒に持っていって、申告しました。
定率減税分が戻ってきたとおもいます。

というわけで、退職金の種類、課税の有無をよくご確認ください。

Qメールフォームで送信先アドレスをプルダウン項目によって変更

こんにちわです!

会社でメールフォームのカスタマイズをすることになったのですが
どうしても出来ないのでお力をお貸し下さい!
kentさんのpostmailを使用してます。

http://www.kent-web.com/data/postmail.html

プルダウンメニューから選択された項目によって送信先を変えたいのですが
うまくフォームからの値をCGI側で拾ってくれてない(?)のです。
ネットで検索してこれだと思うのを試したのですがうまくいかず。。。

現状はHTML側では

<SELECT name="mailto">
<OPTION value="0" selected>AAA</OPTION>
<OPTION value="1">BBB</OPTION>
<OPTION value="2">CCC</OPTION>
<OPTION value="3">DDD</OPTION>
<OPTION value="4">EEE</OPTION>
<OPTION value="5">FFF</OPTION>
</SELECT>

CGI側では
107行目をコメントアウトして108行目に

@addrList = ('aaa@aaa.com', 'bbb@bbb.com', 'ccc@ccc.com', 'ddd@ddd.com', 'eee@eee.com', 'fff@fff.com');
$mailto = $addrList[$FORM{'mailto'}];

495行目はそのままの

$body = "To: $mailto\n";

としてます。 上記方法だとすべてaaa@aaa.comにメールが送信されます。。。


他にも

108行目に

$mailto = $form{'mailto'};

if ( $mailto == 0)
{
$mailto = 'aaa@aaa.com';
}
elsif ( $mailto == 1)
{
$mailto = 'bbb@bbb.com';
}
elsif ( $mailto == 2)
{
$mailto = 'ccc@ccc.com';
}
elsif ( $mailto == 3)
{
$mailto = 'ddd@ddd.com';
}
elsif ( $mailto == 4)
{
$mailto = 'eee@eee.com';
}
else
{
$mailto = 'fff@fff.com';
}

495行目は同じく

$body = "To: $mailto\n";

上記方法を試しましたが、やっぱりすべての宛先がaaa@aaa.comに送信されます。

何がまちがいで、どこをどのように正せば送信先を選択できるようになるのでしょうか?
今日の18時までにはなんとか作り上げたいと思ってますのでご教授よろしくお願いします!

PS:現在の知識としてHTMLしか言語はわかりません^^;

こんにちわです!

会社でメールフォームのカスタマイズをすることになったのですが
どうしても出来ないのでお力をお貸し下さい!
kentさんのpostmailを使用してます。

http://www.kent-web.com/data/postmail.html

プルダウンメニューから選択された項目によって送信先を変えたいのですが
うまくフォームからの値をCGI側で拾ってくれてない(?)のです。
ネットで検索してこれだと思うのを試したのですがうまくいかず。。。

現状はHTML側では

<SELECT name="mailto">
<OPTION value="0" sele...続きを読む

Aベストアンサー

テストする環境が無いので、結果はわからないのですが・・・

228行目の
$ret = &decode;
の後に
@addrList = ('aaa@aaa.com', 'bbb@bbb.com', 'ccc@ccc.com', 'ddd@ddd.com', 'eee@eee.com', 'fff@fff.com');
$mailto = $addrList[$in{'mailto'}];

を入れてみてはどうでしょうか。

Q確定申告と退職所得の源泉徴収票と厚生年金基金

時系列で。

昨年8月頃、妻が8年ほど勤めた職場を退職しました。
厚生年金基金に加入していました。
退職所得の源泉徴収票はそのうち元職場から届きました。退職金は約75万円ほどでした。

1ヶ月後くらいに、厚生年金基金から積立金をどうするかの書類が届きました。
一時金として受け取ることを選択しました。
このときの送付書類として、元職場から送られてきた退職所得の源泉徴収票の原本を添付して送りました。

ほどなくして、厚生年金基金からも退職所得の源泉徴収票が届きました。基金からの一時金は30万円ほどでした。
この源泉徴収票には「所得税法第201条第1項2号・・・」と書いてあり、摘要欄に「厚生年金基金制度による一時金」と書いてあります。
これが昨年11月のことです。

今年に入り、確定申告をしようとeTaxで打ち込んでいました。
手元には、給与の源泉徴収票(年調未済)と基金からの退職所得の源泉徴収票の2枚あります。
退職所得の欄を打ち込んでいたら、
eTaxさんから「所得税法第201条第1項2号だけなの?あんたちょっと他に記入すべき退職所得あるんじゃないの?」と怒られてしまい、先に進めません。
しかし手元には退職金(75万円分)の源泉徴収票がありません。基金の物のみです。
退職所得控除額は360万円と書いてあります。

なお、給与からの源泉徴収額は7万円ほどあります。他に株式の配当金が8万円ほどあります。(特定口座)
これらを確定申告すると3万円ほど還ってきます。
退職金、基金一時金からの源泉徴収は0です。

さてここでいくつか質問させて下さい。
1. 退職金(計100万ほど)を確定申告する必要はありますか?(申告しないと脱税やその他よろしくないことになるか?)
2. 確定申告したら還付金増えますか?
3. 退職所得の源泉徴収票が必要なら元職場に掛け合えば再発行して貰えますよね?(それとも基金に掛け合うのか?)

何とぞよろしくお願い致します。

時系列で。

昨年8月頃、妻が8年ほど勤めた職場を退職しました。
厚生年金基金に加入していました。
退職所得の源泉徴収票はそのうち元職場から届きました。退職金は約75万円ほどでした。

1ヶ月後くらいに、厚生年金基金から積立金をどうするかの書類が届きました。
一時金として受け取ることを選択しました。
このときの送付書類として、元職場から送られてきた退職所得の源泉徴収票の原本を添付して送りました。

ほどなくして、厚生年金基金からも退職所得の源泉徴収票が届きました。基金からの一時金は30万円...続きを読む

Aベストアンサー

退職所得は、分離課税(退職手当等の支払の際に「退職所得の受給に関する申告書」を提出している人は、退職手当等の支払者が所得税額を計算し、その退職手当等の支払の際、所得税の源泉徴収が行われる)なので、原則確定申告は必要ありません(参考URL)

勤続年数8年
退職所得控除 40万円×(勤続年数)=320万

3
退職した事業所で再発行


「同一年中に2か所からの退職手当等の支給があった場合の記載方法」
勤務先からの退職手当と保険会社から支払われる退職一時金がある場合
http://www.nta.go.jp/shiraberu/zeiho-kaishaku/shitsugi/hotei/8/01.htm

2
「退職金に退職所得が課税されている場合」に、年間の所得額が少なく所得控除される額が多い場合は、退職金を含めて確定申告すると「退職金から源泉徴収された所得税が還付」される可能性がある
http://allabout.co.jp/gm/gc/13981/

>配当金8万

「配当所得控除」後の金額ですか?
非上場株式等の配当ですか?

「確定申告をする方が有利な場合とは」を参照
非上場株式等の配当金は20%の所得税があらかじめ差し引かれているため、還付される場合がある。
例:配当金10万円を受取り、手取りは8万円
確定申告をしない場合2万円は戻らない
確定申告をすると、配当金の税金も計算され、納付すべき税金は1万円で1万円還付

参考URL:http://www.nta.go.jp/taxanswer/shotoku/1420.htm

退職所得は、分離課税(退職手当等の支払の際に「退職所得の受給に関する申告書」を提出している人は、退職手当等の支払者が所得税額を計算し、その退職手当等の支払の際、所得税の源泉徴収が行われる)なので、原則確定申告は必要ありません(参考URL)

勤続年数8年
退職所得控除 40万円×(勤続年数)=320万

3
退職した事業所で再発行


「同一年中に2か所からの退職手当等の支給があった場合の記載方法」
勤務先からの退職手当と保険会社から支払われる退職一時金がある場合
http://www.nta.go.jp/shiraberu/z...続きを読む

Q送信フォームからのメール内の1項目だけが改行されません

CGIで制作したメールフォームですが、メールソフトによっては入力項目のうち一項目だけが項目名と入力文の間が改行されずに受信されてしまいます。解消できるでしょうか?英語のサイトでcharset=iso-8859-1で制作しています。

私のWindows2000で Outlook Express6、Eudra5では問題なく、受信される人間のPCではダメなのです。PCはWindowsの2000かXPです。メールソフトは休みでまだわかりません。それではわかる筈ないのであればご指摘ください。一応ソースを記載させて頂きます。

[1] CGIファイルの入力項目を吐き出すあたりのソース
※改行されない問題の項目は、[How did you hear about Our Electric's Web site]というところです。
もしかしてカンマでしょうか・・・。

# mail contents- ---------------------------------------------
$maillog =<<MAILTEXT;
To: $mailto
From: $mailto
Subject: $subject
[Name]
$cgi{'m0'}
------------------------------------------------
[E-mail Address]
$cgi{'m09'}
------------------------------------------------
[How did you hear about Our Electric's Web site]
$cgi{'m10'}
------------------------------------------------
[Please enter your inquiry or question]
$cgi{'m11'}
------------------------------------------------
MAILTEXT


[2] 改行されずに受信されたメール本文

[E-mail Address]
xxx@xxx.co.jp
--------------------------------------------------
[How did you hear about Our Electric's Web site] How did you hear about Our Electric's Web site?
-------------------------------------------------

以上です。足らない情報がありましたらご指摘ください。どうぞ宜しくお願い致します。

CGIで制作したメールフォームですが、メールソフトによっては入力項目のうち一項目だけが項目名と入力文の間が改行されずに受信されてしまいます。解消できるでしょうか?英語のサイトでcharset=iso-8859-1で制作しています。

私のWindows2000で Outlook Express6、Eudra5では問題なく、受信される人間のPCではダメなのです。PCはWindowsの2000かXPです。メールソフトは休みでまだわかりません。それではわかる筈ないのであればご指摘ください。一応ソースを記載させて頂きます。

[1] CGIファイルの入力項目...続きを読む

Aベストアンサー

一つだけうまくいかないと言うのがとても不思議ですが、ひとまずテストとして改行コードを直接指定したらどうなるでしょうか?

$maillog .= '-' x 50 . "\n";
$maillog .= "[Email Address]\n";
$maillog .= "$cgi{'m09'}\n";
$maillog .= '-' x 50 . "\n";
$maillog .= "[How did you hear about Our Electric's Web site]\n";
$maillog .= "$cgi{'m10'}\n";
$maillog .= '-' x 50 . "\n";


とか、まぁちょっと面倒ですが実験として。うまく行くのであれば改行コードの問題、関係ないのであれば別問題と切り分けられます。


人気Q&Aランキング

おすすめ情報