住所自動入力のIEの対応

住所の入力が2か所あるパターンの場合で、下記URLのJavascriptを読込、その後に、その下のJavascriptを入れて実装したのですが、ブラウザがIEだとうまく動作しないようです。何か、アドバイスありますでしょうか。

https://code.jquery.com/jquery-2.1.0.min.js

//============================================
// 郵便番号から住所を入力
//============================================
(function() {
“use strict”;

//=====================================
//郵便番号の値を変更した際のイベント①
//=====================================
fb.events.fields.postal_code.changed = [function (state) {

//郵便番号Aの値を取得
var zip = state.record.postal_code.value;

//URL設定(http://zipaddress.net/のAPIを使用)
var url = ‘https://api.zipaddress.net/?zipcode=’ + zip;

$.ajax({
url: url,
type: ‘GET’,
dataType: ‘json’
})
.done((data) => {
//住所フィールドに値を入力
//====================================================
//pref: 都道府県の文字列
//city: 市区町村の文字列
//town: 町域名の文字列
//address: 市区町村の文字列(cityとtownを結合したもの)
//fullAddress: 都道府県+市区町村+町域名の結合文字列
//====================================================
state.record.prefecture.value = data.data.pref;
state.record.city.value = data.data.city;
state.record.area.value = data.data.town;
})
.fail((data) => {
// console.log(data);
})
.always((data) => {
});

return state;

}];

//=====================================
//郵便番号の値を変更した際のイベント②
//=====================================
fb.events.fields.postal_code1.changed = [function (state) {

//郵便番号Bの値を取得
var zip = state.record.postal_code1.value;

//URL設定(http://zipaddress.net/のAPIを使用)
var url = ‘https://api.zipaddress.net/?zipcode=’ + zip;

$.ajax({
url: url,
type: ‘GET’,
dataType: ‘json’
})
.done((data) => {
//住所フィールドに値を入力
//====================================================
//pref: 都道府県の文字列
//city: 市区町村の文字列
//town: 町域名の文字列
//address: 市区町村の文字列(cityとtownを結合したもの)
//fullAddress: 都道府県+市区町村+町域名の結合文字列
//====================================================
state.record.prefecture1.value = data.data.pref;
state.record.city1.value = data.data.city;
state.record.area1.value = data.data.town;
})
.fail((data) => {
// console.log(data);
})
.always((data) => {
});

return state;

}];

})();

アロー関数になっているこの辺りを

.done((data) => {

旧型式に書き換えるとどうなりますでしょうか。

.done(function(data){

 

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Functions/Arrow_functions

ご連絡ありがとうございます。

試してみましたが、動作しないようです。

done,fail,alwaysの6か所書き換えても駄目でしょうか?

F12で出てくる開発者ツールのコンソールではどこでエラーになっていますか?

はい、6か所変えてみました。

IEの開発者ツールの使い方がよくわかりませんが、エラー表示等はでてないようです。

ごめんなさい、更新したらでてきました。

エラーになっているbirthday.js(5行目)とaddress3.js(36行目)の該当行付近の処理はどうなっていますか?

birthday.jsはとりあえず無視していただいて大丈夫です。

下記の通りです。

birthday.jsをいったん外してみるとどうなりますでしょうか?

質問時に貼られているコードがaddress3.jsと同一ですと、

こちらで試した限り、「(data) => {」の6箇所を直すだけで動作しました。

(ただ、動かしてみて1点気になったのは、郵便番号が1桁入力される毎に取りに行って、郵便番号が見つからないエラーになっているので、7桁入力された時点で取りに行く処理が必要かもしれません。

ありがとうございました。

無事にできました。

7桁入力された時点のは今後検討いたします。