Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
Javascript関連情報
更新日:2005年08月28日
今回は、Ajaxによる入力補助「郵便番号、住所の検索」を試してみます。「郵便番号」入力による住所検索と、「住所の一部分」入力による郵便番号、住所のあいまい検索です。

ひとつは、よくある、「郵便番号」入力による住所検索です。キーを上げる(onkeyup)と、そこまで入力された郵便番号に対して、前方一致で住所候補を検索するSQL文がAjax発行されます。結果セットは、ページ遷移することなく受信され、「住所候補のリンクリスト」として表示されます。 | win | mac | linux | |||||||||
| n7 | m1 | e6 | o7 | o8 | n7 | m1 | e5 | s1 | n7 | m1 | k3 |
| ○ | ○ | ○ | × | ○ | ○ | ○ | × | ○ | ○ | ○ | ○ |
<font color=orange>
<!-- 暫定Ajaxライブラリ jslb_ajaxxxx.js -->
<script language = "JavaScript"
charset = "utf-8"
src = "../ajasql/jslb_ajax036.js"></script>
<!-- 暫定AjaSQLライブラリ ajasqlxxx.js -->
<script language = "JavaScript"
charset = "utf-8"
src = "../ajasql/jslb_ajasql027.js"></script>
<!-- 〒番号/住所検索 ライブラリ ajasql_zip2addr.js -->
<script language = "JavaScript"
charset = "utf-8"
src = "../ajasql/ajasql_zip2addr001.js"></script>
<script language = "JavaScript">
<!--
//初期設定
window.onload=function(){
//初期化
sqlite = new asql_Conf(sqlite01);
//プログレスバー(デフォルトは'o')
sqlite.progress.prog_bar = '|'
sqlite.progress.div.style.color = 'orange'
//住所候補選択用DIV
selzip = document.getElementById('selzipdiv')
//〒番号用 入力フィールド
zipfild = document.zipform.zip
//住所用 入力フィールド
addrfild = document.zipform.address
}
//-->
</script>
<!-- 住所候補選択用DIVのCSS指定 -->
<style>
<!--
#selzipdiv{
background-color : #ffffff ;
font-size : 12px ;
width : 300px ;
padding : 2px ;
}
#selzipdiv a:link { color: #333; background: none;}
#selzipdiv a:visited { color: #666; background: none;}
#selzipdiv a:active { color: #000099; background: none;}
#selzipdiv a:hover { color: orange; }
-->
</style>
<br>
<b>【郵便番号から検索】</b>郵便番号を入力すると12万件のデータから住所が検索されます
<form name="zipform" onsubmit="return false">
〒<input type = "text"
name = "zip"
size = "10"
maxlength = "8"
autocomplete = "off"
onkeyup = "zip2addr(this.value) /*ajasql_zip2addr001.js内の関数です*/"
style = "background-color:#ffcc33;
ime-mode:disabled;"
value = "">
住所<input type = "text"
name = "address"
size = "60"
autocomplete = "off"
value = "">
<div id="selzipdiv"></div>
</form>
<!-- ここへ選択リストを出力 -->
<div id="progressBarId"></div>
CREATE TABLE zip( code, //郵便番号 address //住所 );
3001282|茨城県牛久市井ノ岡町 3001283|茨城県牛久市奥原町 3001286|茨城県牛久市小坂町 3001281|茨城県牛久市桂町 3001288|茨城県牛久市久野町 3001284|茨城県牛久市島田町 3001285|茨城県牛久市正直町 3001287|茨城県牛久市福田町 : :
//「郵便番号」入力による住所検索の場合のSQL文 // (「zip」テーブルから カラム「code」が「zip%」なものを昇順で20件リクエスト) // asql_sendSQL(sqlite,'select * from zip where code like "'+zip+'%" order by code limit 20 ;')また、「select * from zip where address like "北海道%";」 で北海道をリストアップするリンクを作ったり、 「order by 句」を使ってソートをかけたり、SQLの集計関数などを利用したりといったこともできます。
人気Javascriptランキング
Powered by 価格.com