気がつけば、1時間くらい悩んでた・・・
なにかというと、ajaxzip3 という「郵便番号から住所を引っ張ってきて form の項目にセットしてくれる」ライブラリである。
もう、今やほとんどの Web サイトで使われてるんじゃないやろか?開発元の株式会社人気組さんには感謝しかありません。
詳しい仕様については公式ページをご確認くださいませ。
で、今回、お客さんから「県名しかセットしない」という要件があって、ほんじゃ、県名をセットする項目名だけ書いとけばいいんかな・・・と思って、郵便番号入力欄に
onKeyUp="AjaxZip3.zip2addr(this, '', '都道府県', '');"
なんてイベントを書いてみたんだけど・・・
まったく動かず・・・。動かずっていうのは、郵便番号を入力しても
<input name="都道府県" type="text">
に都道府県名がセットされないということ。
試しに、
AjaxZip3.zip2addr(this, '', '都道府県')
とか
AjaxZip3.zip2addr(this, '', '都道府県', null)
とか書いてみたんだけど駄目やねえ。
AjaxZip3.zip2addr(this, '', '都道府県', '都道府県')
って書いてやると、「都道府県」欄に県名と市町村名がセットされる。
市町村は絶対どこかにセットするようにせんと駄目なんか?
で、仕方がないので、
AjaxZip3.zip2addr(this, '', '都道府県', '市町村')
として、
<input type="hidden" name="市町村" value="">
という表示されない隠し項目を作って対応。
まあ、これでとりあえず動いたけど・・・なんか泥臭いやり方やなあ(^^;
県名だけ必要(市町村名はいらない)な場合の、正しい引数の渡し方ってどうやるんじゃろ?
JavaScript なんでコードを読めばいいんだけど、難読化がされてるし・・・読む気がせんわ・・・(^^;;;
識者の方からのアドバイスを待つ(笑)
コメントする