laravel5.1 & formファサードで、郵便番号から自動的に住所を出力する方法。
参考URL:
https://github.com/ajaxzip3/ajaxzip3.github.io
単純なHTMLなら、超簡単!
1 2 3 4 5 6 7 |
<script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script> 郵便番号:<input type="text" name="zip" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref','address1','address2','address3');"><br> 都道府県:<input type="text" name="pref"><br> 市区町村:<input type="text" name="address1"><br> 町域大字:<input type="text" name="address2"><br> 丁目番地:<input type="text" name="address3"><br> |
問題は、laravelのformファサードでは、サンプルが無かったので、どうやって使うの?と色々と試したら出来た。
1 2 3 4 5 6 7 8 9 10 |
// 直接blade.phpファイルに書くか、public/jsフォルダでも切ってインクルードする。 <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script> // 郵便番号フィールドに、属性(class, id, イベントなど)を持たせる時には、配列で指定する。その前のnullは初期値。 {!! Form::label('郵便番号', '郵便番号:') !!} {!! Form::text('postal_code',null, array('onkeyup'=>"AjaxZip3.zip2addr(this,'','prefecture','address1','address2','address3')")); !!}<br> // なぜか都道府県が1個後ろにズレる…。とりあえず空要素を先頭に入れてみた。プルダウンの場合は、都道府県コードで返ってきている? {!! Form::label('都道府県', '都道府県:') !!} {!! Form::select('prefecture', array('', '北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県','静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県','奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県')) !!}<br> {!! Form::label('住所(市区町村郡)', '住所(市区町村郡):') !!} {!! Form::text('address1'); !!}<br> {!! Form::label('住所(町名番地)', '住所(町名番地):') !!} {!! Form::text('address2'); !!}<br> {!! Form::label('住所(建物名)', '住所(建物名):') !!} {!! Form::text('address3'); !!}<br> |
出来てしまえば簡単だけど、サンプルがない状態で、自分で推理して試行錯誤すると大変(^_^;)