[CGI]Mail form pro の基本テンプレ

投稿者: | 2015年12月16日

WPのContact form 7がつかえない場合は、Mail form proを使いようにしている。いろいろ高機能だし。
ただ、同梱のマニュアルはちょいと舌足らずなところがあり、そのまま設定したら動かないので、テンプレートのようにしてまとめておく。ファイルへのリンク、細かい入力欄は任意で。

<link rel="stylesheet" href="js/mailformpro/mfp.statics/mailformpro.css" type="text/css">
・
・
・
<form id="mailformpro" action="js/mailformpro/mailformpro/mailformpro.cgi" method="POST">
お名前 : <input type="text" name="お名前" required="required"/>
フリガナ : <input type="text" name="フリガナ"/>
性別 : <input type="radio" name="性別" value="男性" required="required">男性<input type="radio" name="性別" value="女性" required="required">女性
メールアドレス:<input type="email" data-type="email" name="email" data-charcheck="digit_and_alphabet" required="required" />
メールアドレス(確認用):<input type="email" data-type="email" name="confirm_email" data-charcheck="digit_and_alphabet" required="required" />
<button type="submit">送信する</button>
</form>
<script type="text/javascript" id="mfpjs" src="js/mailformpro/mailformpro/mailformpro.cgi" charset="UTF-8"></script> 

必須項目は上記サンプルにも付いているが以下の物を付ける。

required="required"

チェックボックスの必須で、「一つは必ずチェックさせる」というものになると以下の内容をつける

data-min="1" required="required"

名前の入力で「姓」「名」を別々にテキストボックスを作ると、確認画面・送信メールにも別々で出てくるのだが、姓名の入力欄の前に下記を入れると確認画面・送信メールでは2つ合体した形で表示されるようになる。もちろん電話や郵便番号などのテキストボックスでも活用できる。

<input type="hidden" name="お名前" data-unjoin="姓+ +名" value="">

エラーの文章を任意の場所に出す場合は以下のソースを書くとその場所に出る。

<div id="errormsg_お名前" class="mfp_err"></div>

文字書式チェック機能もあり。

#push @AddOns,'charactercheck.js'; ## 文字校正 のコメントアウトを外した上で、

data-charcheck="digit" 数字のみ
data-charcheck="alphabet" 英語のみ
data-charcheck="digit_and_alphabet" 英語と数字のみ(記号含まず)
data-charcheck="kana" 全角カタカナのみ

導入時は一応「mailformpro/check.cgi」にアクセスして、設定に間違いがないか確認することをお勧めする。
また、導入当初、画面に出ているモジュール確認画面と確認画面などの遷移確認の画像を消すには、config.cgiの以下の部分をコメントアウトする

#push @AddOns,'OperationCheck.js'; ## 動作チェック
#push @Modules,'check'; ## CGI動作環境チェック
#push @AddOns,'phase.js'; ## 段階的入力機能

送信メールアドレスは複数個設置可能。一番最初にセットされたメールアドレスがフォームの差出人として設定される、との事。

push @mailto,'aaa@test.com';
push @mailto,'bbb@test.com';
push @mailto,'ccc@test.com';

WPなどで記事ごとについているお問い合わせフォームとして使う際、記事タイトルのvalueに記事タイトルを入れようとすると反応しない。どうも手入力されたものではないとデフォルト値として扱われ、データ入力されてないとみなされる模様。その時は下記のように書けばOK。

<input type="text" name="記事タイトル" data-value="CMSの記事タイトルタイトル" readonly>
カテゴリー: CGI