• 締切済み

郵便番号検索のような

この度、当方のWebサイトで、郵便番号検索のようなシステムをJavaScriptで導入したいと思っています。 たとえば、000-0000と入力すれば「海外」と表示されるように、 フォームに数字を入力してEnterを押させると、数字によって別の結果が出るようにしたいのです。 当方、あまり知識は有りませんので、既に配布されているものを多少編集するだけでできるようなフリースクリプトがあると嬉しいです。

みんなの回答

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

AJAX で問い合わせをすれば本格的ですが、データが数百件で即応性が問われないのでしたら、こんなのでどうでしょうか。 <script> var data = { '001':'太郎さんに貸し出し中', '002':'花子さんに貸し出し中', '003':'図書館にあります', /* 以下同様にたくさん */ }; addEventListener('load',function(e){ /**/ document.forms['search'].addEventListener('submit',function(ev){ /**/ /**/ var no = ev.target.elements['no'].value; /**/ /**/ var status = data[no]; /**/ /**/ status = status? status: '書籍が存在しません'; /**/ /**/ var span = ev.target.querySelector('.status'); /**/ /**/ while (span.firstChild) span.removeChild(span.firstChild); /**/ /**/ span.appendChild( document.createTextNode(status) ); /**/ /**/ ev.preventDefault(); /**/ },false); },false); </script> <form name=search> 書籍番号:<input type=text name=no><button type=submit>問い合わせ</button> <span class=status></span> </form>

回答No.2

まず、動作環境をどの様に想定しているのか? それから、データの更新はどうするのか? 処理速度等の操作性は、どの程度要求されるのか? 等々、いろいろな前提条件により、 提示内容も異なり、また困難であるという結論も・・・。 基本は、全てIF文で記述してはという事ですが、如何でしょうか。 データの保持方法,更新方法によっては、 実はこのIF文で記述が一番速く,ブラウザの種類をあまり意識する必要が少なく, そして簡単だったりするのです・・・。 次にデータからイメージできる処理の形が、 索引編成ファイルをイメージした、 配列を用いた方法です。 配列を2つ用意して、片方をキーの配列,もう片方をデータの配列とし、 キーの配列で該当する値のインデックスを求め 次にそのインデックスを用いてデータの配列から 必要とする値を取得する。 この時、キーの値を昇順なりで並べておけば、 逐次検索(順番に検索)した時、探している値とキーを比べて,値が行き過ぎた場合、該当データなしと 早々に判断できまます。 また、総データ数がわかっている場合に、二分検索にて、まず真ん中辺りのキー値を拾い,判断し その大小関係にて上半分または下半分を対象にすると 半分ずつに対象を絞る方法もありまます。 欠点は、配列を使う事により、 ブラウザの種類を多少意識する必要が発生する事。 あと、データ件数の制限があるかも・・・。(未確認) 長所は、データと処理が分離できる事。それだけ。逐次検索も二分検索も、IF文による直接記述でも可能。 ですので、データの保持,更新はどうするのかが、 処理方法を選定するのに重要な点なのです。 (データの加工をプログラムでするのなら、 そのプログラムでJavaScriptソース自体を加工しても 問題ない訳ですから・・・。) あと蛇足で、データを1つの文字列変数として サーチの命令を使う方法・・・。 これは、その様な考え方もあると知っている程度でいいでしょう。 内部規約として予約語みたいな物が必要となり、 特定の文字列がデータとして使えなくなるという欠点と、 なによりサーチの命令,文字列の抜き取りと 命令の種類が増える分、 余計にブラウザの種類を意識する必要が発生するので・・・。 結局,データの形式,保持,更新方法が不明な為、 既存のツールの提示は困難で・・・。 というか、やはりそれらを意識せずどれでも動く 簡単なのはと・・・。 「IF文でこつこつと記述するでしぃ~!?」 手間がかかって嫌な場合は、改めて データについての詳細を提示してご質問下さい。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

大体40万件程度ありますので、それを処理するとなるとJavascriptだと重いような・・・ 10Mくらいあるので、それをHTMLで書き出してJavascriptで処理するのは無謀かと。。 郵便番号のデータは郵政省のHPに行けばDLできます。

na-n-de-ya-nen
質問者

補足

ありがとうございます! そもそも郵便番号を処理するわけでは有りません。 詳細は申し上げられないのですが、このようにイメージしていただければ嬉しいです。 ------------------------------------------ 私設図書館の蔵書検索システム 書籍番号:001 --太郎さんに貸し出し中 書籍番号:002 --花子さんに貸し出し中 書籍番号:003 --図書館にあります ------------------------------------------ 処理するデータは200件~300件程度です。

関連するQ&A

  • 郵便番号を入力→住所変換

    郵便番号を入力するとリロードして→住所変換するスクリプトを作成したいと思っています。郵便番号→住所変換のデータベースはすでにありますが、これはASPで表示します。郵便番号欄に郵便番号を入れたらjavascriptでリロードしてASPのデータベースを読みに行って、結果を表示したいと思います。 このとき、「郵便番号欄に郵便番号を入れたらリロード」という部分のjavascriptでの処理のイメージが浮かびません。「指定文字数が入力されたら」とかの処理になるものでしょうか。javascriptはあまりわからないので、よろしくお願いします。

  • エクセルで郵便番号を検索するウィザードではなくて

    エクセルで郵便番号を入力といえばウィザードのアドインがあるのは、知っているのですが エクセルのセルをクリックしたら、ネットの郵便番号サイトに飛んで http://postcode.goo.ne.jp/index.html?kana=1 セルに入力してある、郵便番号が自動で、サイトのフォームの中に入ってエンターが押されて 目的の郵便番号のページに自動で行ける っていうのは、できないものでしょうか?

  • 郵便番号検索フォームにおけるJavascript 制御で質問です

    失礼します。 郵便番号検索フォームを作成しているのですが、 サーバー側の仕様で、郵便番号を入力するtextbox の name値が固定されています。 必ず「name="p01:03"」と指定しなければなりません。 問題はname値に“:”が使用されているため、Javascriptがうまく動作しません。 ※フォーム(CGI)における値の受け渡しは問題ないです。 “:”を避けて実行する方法を探していますが、 うまくいきません。指示を頂けたらと思います。 --------------------------------- HTMLページの郵便番号欄: <form name="form">・・(略)・・・ 郵便番号:<input type="text" size="15" name="p01:03" value="" /> Javascript: 実行させるとindex.cgiのpost1へ値を飛ばします。 var target = 'http://www.テスト/index.cgi?template=zip.html&post1=' + document.form.p01:03.value; エラー:オブジェクトを指定して下さい。 ---------------------------------

  • imode用の郵便番号検索CGI

    i-modeHPで郵便番号を入力すると自動的に住所がでてくる CGIを探しています。フリー・シェアどちらでもかまいませんので ご存知の方教えて下さい。よろしくお願いします。

    • ベストアンサー
    • CGI
  • web上の郵便番号からの住所補足について

    web上での住所入力の際に、郵便番号をいれたのち、検索ボタンを押すと、対応住所が入力フォームに補足される機能がありますが、こちらはどのような仕組みになっているのでしょうか? 自分が担当するサイトでも導入したいと考えています。 仕組みの概念をおしえていただけると幸いです。 よろしくお願いいたします。

  • 郵便番号の入力時に

    soft bankの郵便番号入力時に、以前入力した、引っ越す前の番号に切り替わり戻ってしまうのをどうにかしたいのですが、どうしたらよいでしょうか? 何が原因なのか?これは。。。 soft bankのHP制作に携わっている人間のミスなのか、それともMacの性能の問題なのか。疑問です。 ちなみに、郵便番号が、152と入力しても、Enterボタンを押したとたん、1が消え、52とだけ表記されます。

    • 締切済み
    • Mac
  • 郵便番号から住所情報

    webを使用して、 郵便番号を入力してもらうことで、 住所を簡単に入力してもらえるページを 作成しようとしています。 郵便番号を参照できる データベースなどはあるものでしょうか? (条件としては最新のものが反映されていることになります。) よろしくお願いします。

  • フォームメールに入力された郵便番号から住所を自動入力してもらいたい

    ホームページビルダー11で初めてホームページを作成しているものです。 フォームメールで入力の手間やミスを防ぐため、 郵便番号を入力すると、 次の項の都道府県欄や住所欄に 自動的に入力されるようにしたいと思っています。 データは郵便局のサイトで配布しているようですが、、 このデータをどのように使うのか分かりません。 ご存知の方、よろしくお願いいたします。

  • 郵便番号表示

    裏面編集(喪中葉書作成)の際に、住所表示の郵便番号を縦書きにしたいのですが、うまくいきません。 縦の表示にはなるが数字が漢字にならない

  • 郵便番号のみの入力で・・・

    エクセルなどで住所録を作る際、郵便番号だけ入力すると、住所が出てくる様なフリーソフトやアプリは無いのでしょうか?

専門家に質問してみよう