質問: document.getElementById(zipCodeId.id).value; 3 if (postalcode) { 4 AjaxZip3.zip2addr(zipCodeId.name, '', prefId.name, cityAddressId.name, townAddressId.name, townAddressId.name) 5 AjaxZip3.zip2addr(zipCodeId.name, '', fullAddressId,fullAddressId); 6 } 7 } else { 8 alert("郵便番号が入力されていません"); 9 } ``` ### 試したこと when・doneを使った処理を試したのですが、5行目が実行されずに3行目が実行された結果が得られた。 試したコード ``` 1 if (postalcode) { 2 $.when( 3 AjaxZip3.zip2addr(zipCodeId.name, '', prefId.name, cityAddressId.name, townAddressId.name, townAddressId.name) 4 ).done( 5 AjaxZip3.zip2addr(zipCodeId.name, '', fullAddressId,fullAddressId); 6 ); 7 } ``` AjaxZip3のライブラリ
回答: 状況再現できました。 **動くサンプル:** ソースを見るに、読み込みに1つのオブジェクトを使用しているため、並列での動作は出来ないと思います。 【ajaxzip3.github.io/ajaxzip3-source.js at master · ajaxzip3/ajaxzip3.github.io · GitHub】 `AjaxZip3.onSuccess` が設定できるようなので、それを使えば何とかできるかもしれません。 ``` $( _=> { $( '#target' ).click( function() { AjaxZip3.onSuccess = function() { AjaxZip3.zip2addr( 'target', 'all', 'all', 'all' ); } AjaxZip3.zip2addr( 'target', '', 'a', 'b' ); } ); } ); ``` **動くサンプル:**