プログラミング: 2014年1月アーカイブ

20140108_error.jpg

現在修正中のページで、郵便番号から住所を自動でセットする処理を追加してほしいということだったので、以前使ったことのある Kawasaki Yusukeさん作成の AjaxZip 2.0(ajaxzip2)を使おうと思ったんだけど、どうもうまくいかない。

<script type="text/javascript" src="js/ajaxzip2/prototype.js"></script>
<script type="text/javascript" src="js/ajaxzip2/ajaxzip2.js" charset="UTF-8"></script>

と JavaScript を設定しても上手くいかない。

InternetExplorer の開発者ツールで見ると、prototype.js を読み込んだ時点で、

SCRIPT438: オブジェクトは 'dispatchEvent' プロパティまたはメソッドをサポートしていません。 

のエラーが発生している。

別の JavaScript で jQuery を使用しているので、その辺とバッティングしてるのかな?
jQuery 使ってるスクリプトをコメントにしたらエラー消えるからそうなんだろうなあ。時間がないので、細かいところまでは追っかけなかったのだが、さすがにこのために jQuery 使わない形に直すの大変なので、別の方法を取ることにした。

てか、以前は prototype.js と jQuery で覇権を争っていたのだが、勝負がついてしまったな。
prototype.js 使うために jQuery をどうこうしようなんて思わないもんな。

ということで探してみると、株式会社人気組さんが ajaxzip3 という、ajaxzip2 の後継ライブラリを作られていた。
prototype.js や JQuery を使ってないので、バッティング問題もなさそうだ。

とりあえず、

<script type="text/javascript" src="https://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3-https.js" charset="UTF-8"></script>

と指定すれば、ajaxzip2 とほぼ同様の形で使用出来る。

ただ、郵便番号を 3桁+4桁で入力した場合の、4桁番号の引数の位置が変わっているので注意。

(例)
<input type="text" size="3" name="yubin1" />-
<input type="text" size="4" name="yubin2" />

・ajaxzip2
onClick="AjaxZip2.zip2addr('yubin1', 'ken', 'shichoson', 'yubin2', 'banchi');"

・ajaxzip3
onClick="AjaxZip3.zip2addr('yubin1', 'yubin2', 'ken', 'shichoson', 'banchi');"

こんな感じ。

いやあ、時間がないのに、ajaxzip2 を改造せんといかんのかとゾッとしてたんだけど助かった。
株式会社人気組さんに感謝。

このアーカイブについて

このページには、2014年1月以降に書かれたブログ記事のうちプログラミングカテゴリに属しているものが含まれています。

前のアーカイブはプログラミング: 2013年7月です。

次のアーカイブはプログラミング: 2014年3月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら