勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

郵便番号を入力すると住所を自動で入力してくれる「ajaxzip3」ライブラリの利用方法

  JavaScript

お問い合わせフォームのようなページで郵便番号及び住所欄がある場合、ユーザーが郵便番号を入力すると自動で住所欄も入力される機能を「ajaxzip3」ライブラリで実装することが多い。ただ、本サイトに実装方法をメモしておらず毎回過去に実装したソースコードを探し出すという無駄な作業をしていたのでこの機会にメモしておく。

 

サンプル

https://taitan916.info/sample/ajaxzip3/

フォームによっては郵便番号欄を分けたり、都道府県と住所を分けたりと様々なパターンがあるので、使いそうな4パターンを上記で試すことができる筈。

 

ajaxzip3

公式サイト

https://yubinbango.github.io/

GitHub

https://github.com/ajaxzip3/ajaxzip3.github.io

CDN

CDNで使う場合は以下を記述する。

<script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>

 

実装方法

ソースコード

<div class="contents">
    <div class="title">郵便番号入力欄が1つ&都道府県と住所別の場合</div>
    <div>
        郵便番号
        <input type="text" name="zip_1" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref_1','addr_1');">
    </div>
    <div>
        都道府県
        <input type="text" name="pref_1">
    </div>
    <div>
        住所
        <input type="text" name="addr_1">
    </div>
</div>

<div class="contents">
    <div class="title">郵便番号入力欄が1つ&都道府県と住所分けない場合</div>
    <div>
        郵便番号
        <input type="text" name="zip_2" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','addr_2','addr_2');">
    </div>
    <div>
        住所
        <input type="text" name="addr_2">
    </div>
</div>

<div class="contents">
    <div class="title">郵便番号入力欄が2つ&都道府県と住所別の場合</div>
    <div>
        郵便番号
        <input type="text" name="zip_3_1" size="4" maxlength="3"> - <input type="text" name="zip_3_2" size="5" maxlength="4" onKeyUp="AjaxZip3.zip2addr('zip_3_1','zip_3_2','pref_3','addr_3');">
    </div>
    <div>
        都道府県
        <input type="text" name="pref_3">
    </div>
    <div>
        住所
        <input type="text" name="addr_3">
    </div>
</div>

<div class="contents">
    <div class="title">郵便番号入力欄が2つ&都道府県と住所分けない場合</div>
    <div>
        郵便番号
        <input type="text" name="zip_4_1" size="4" maxlength="3"> - <input type="text" name="zip_4_2" size="5" maxlength="4" onKeyUp="AjaxZip3.zip2addr('zip_4_1','zip_4_2','addr_4','addr_4');">
    </div>
    <div>
        住所
        <input type="text" name="addr_4">
    </div>
</div>

<script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>

 - JavaScript

  関連記事

Leafletでマーカークリック時に当該マーカーをバウンド(跳ねる動作を)させる方法

LeafletとOpenStreetMapでマップ上にマーカーを複数設置した上で ...

Lightboxで画像拡大時にダウンロードリンクを設置する方法

Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もち ...

LightboxをjQuery無しで実装できる「Luminous」の利用方法

あるサイトのコーディングデータを貰った際、jQueryは使用していないのにLig ...

バニラJavaScriptのDOMContentLoadedとは?

jQuery等を用いない素のJSで書かれたプログラムを触る機会があり、そのソース ...

マウスオーバーでの画像切り替えをJavaScriptで簡単に対応

マウスが要素にのった際に画像を切り替える処理を入れたかった。多分CSSの管轄なん ...