baserCMSのメールフォーム機能には、郵便番号での住所補完機能があります。
フォーム制作時、郵便番号を2つの入力欄に分けたい場合がありますが、その際にはこの住所補完が効きません。
それを可能にするちょっとしたTipsです。
想定している対象者
- baserCMSでウェブサイトを制作をしている方
- baserCMSでメールフォームを制作している方
フィールドを作る
※住所補完が効くフィールドは「都道府県: address_1、住所テキスト: address_2」を前提とした内容です。
- 郵便番号の前半用
- フィールド名: zip
- タイプ: テキスト
- 最大値: 4文字
- 拡張入力チェック: グループチェック
- グループ名: postal_code
- グループ入力チェック: postal_code
- 自動変換: 半角変換
- 郵便番号の後半用
- フィールド名: zip_2
- タイプ: テキスト
- 最大値: 4文字
- 拡張入力チェック: グループチェック
- グループ名: postal_code
- グループ入力チェック: postal_code
- オプション:
onKeyUp|AjaxZip3.zip2addr('data[MailMessage][zip]','data[MailMessage][zip_2]','data[MailMessage][address_1]','data[MailMessage][address_2]');
- (旧)オプション:
onKeyUp|AjaxZip3.zip2addr('data[Message][zip]','data[Message][zip_2]','data[Message][address_1]','data[Message][address_2]');
- 自動変換: 半角変換
- 都道府県リスト
- フィールド名: address_1
- タイプ: 都道府県リスト
- 住所
- フィールド名: address_2
- タイプ: テキスト
▼ 追記
※オプションに設定する内容の「Message」→「MailMessage」に変わっていたので両方載せてみた。
メールフォーム用ビューの調整
■ ajaxzip3.js をフォーム用のビューに読み込む
/theme/YOUR_THEME/Elements/mail_form.php
$this->BcBaser->js('admin/ajaxzip3', false);
以上で完了です。