teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

2125閲覧

ajaxzip3 複数のボタン設置について

yuko_momi

総合スコア4

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2022/02/07 18:27

編集2022/02/08 03:11

0

0

ajaxzip3を使い、郵便番号入力ごボタンクリックで住所入力ができるように
下記サイトを参考に実装しました。

https://techmemo.biz/javascript/ajaxzip3-click-ziptoaddress/

一つの住所入力はできたのですが
3つのラジオボタンの選択で項目を出し分けることになり
同一html内に3つ住所入力が必要になりました。

j

1$('#zip-btn').on('click', function() { 2 AjaxZip3.zip2addr('zip1','','pref','city'); 3 4 //成功時に実行する処理 5 AjaxZip3.onSuccess = function() { 6 setTimeout(function() { 7 $('.address').focus(); 8 },10); 9 }; 10 11 //失敗時に実行する処理 12 AjaxZip3.onFailure = function() { 13 alert('郵便番号に該当する住所が見つかりません'); 14 }; 15 16 return false; 17}); 18 19

html

1<table> 2 <tr> 3 <td><input type="text" name="zip1" name="郵便番号" placeholder="5310071"></td> 4 <td><button type="button" id="zip-btn" class="postcode_btn" href="#">郵便番号から検索</button></td> 5 </tr> 6 <tr> 7  <td> 8 <p class="split_title">都道府県<span class="label_06">必須</span></p> 9 <p class="select_02"> 10 <select name="pref" class="pref"> 11 <option value="" selected>都道府県</option> 12 <option value="1">北海道</option> 13 <option value="2">青森県</option> 14 <option value="3">岩手県</option> 15 <option value="4">宮城県</option> 16 <option value="5">秋田県</option> 17 <option value="6">山形県</option> 18 <option value="7">福島県</option> 19 <option value="8">茨城県</option> 20 <option value="9">栃木県</option> 21 <option value="10">群馬県</option> 22 <option value="11">埼玉県</option> 23 </select> 24 </p> 25 </td> 26 <td> 27 <p class="split_title">市区町村<span class="label_06">必須</span></p> 28 <input type="text" name="city" placeholder="大阪市北区中津3丁目"> 29 </td> 30 </tr> 31  <tr> 32 <td> 33 <p class="split_title">番地<span class="label_06">必須</span></p> 34 <input type="text" name="address" placeholder="7-3"> 35 </td> 36 <td> 37 <p class="split_title">建物名<span class="label_07">任意</span></p> 38 <input type="text" name="建物名" placeholder="ビルコ"> 39 </td> 40 </tr> 41</table>

#zip-btnを<button>タグにid指定すれば実装できていたのですが
idなので、一つの住所入力しかできませんでした。
こちらをclass指定に変えてみたのですが、そうすると動かなくなってしまいました。

こちら、解決策がわかる方がいましたら、ご教授いただければ幸いです。

※htmlも追記しました。セレクトの都道府県は長かったので消しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/02/07 22:10

HTMLもご提示いただけますか?
yuko_momi

2022/02/08 03:13

html追記いたしました。 郵便番号から下の部分だけですが、大丈夫でしょうか? また、このtableが一つのhtmlに3つあり、この状態ですと、一つ目のものはちゃんと機能しています。 2個目3個目が機能しない状態です。
guest

回答1

0

Githubにあったソースコードを見てみましたが、AjaxZip3.zip2addr('zip1','','pref','city');'zip1'はフォームの名前のようですから、ボタンをクラスに設定するにしてもここを適切にしないと動かないのではないでしょうか。

投稿2022/02/08 01:47

Lhankor_Mhy

総合スコア37460

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuko_momi

2022/02/10 06:06

完全に動かないのではなく、一つ目だけは動くんです。。。
Lhankor_Mhy

2022/02/10 07:36

ですので、2つ目以降が一つ目と同じではダメなのではないでしょうか、ということが回答の趣旨です。
Lhankor_Mhy

2022/02/10 09:29 編集

わかりにくいですかね? 一般に住所フォームの郵便番号自動入力を複数設置する場合、「郵便番号から検索」ボタンだけを増やすというのは考えにくいです。(それでは役に立たないため) ですので、郵便番号欄や住所欄もボタンの数だけ増やすのが一般的ですし、おそらくあなたもそうしているだろう、という予想に基づく回答をしています。 郵便番号欄や住所欄が複数あるにもかかわらず、2つ目以降のコードが一つ目の郵便番号欄や住所欄を指していては、不都合があるのではないですか? そこは変える必要がありませんか? ということが回答の趣旨ですので、もし「いや、郵便番号欄や住所欄はひとつだけでボタンだけ増やしたい」ということであれば、その旨を質問に追記することをおすすめします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問