お世話になっております。
今まで以下のコードをフォームブリッジで使用していましたが、突然使用できなくなりました。
郵便番号を入力すると、「都道府県、市区町村、以降住所」が分かれて自動入力されるようになっていました。
jsの知識はまったくないので、ご存知の方がいましたらご教示いただけますと幸いです。
------------------------------------------------------------------------------------------------------
(function() {
"use strict";
//設置場所用_住所検索
fb.events.fields.postalcode.changed = [function (state) {
var zipcode = state.record.postalcode.value;
zipcode = zipcode.replace(/-/g, '');
if (zipcode.length === 7) {
jQuery(function($){
var zip = zipcode;
var url = 'https://api.zipaddress.net?callback=?';
var query = {'zipcode': zip};
$.getJSON(url, query, function(json){
state.record.prefecture.value = json.pref;
state.record.city.value = json.city;
state.record.townname.value = json.town;
});
});
} else {
state.record.prefectures.value = "";
state.record.city.value = "";
state.record.townname.value = "";
return false;
}
return state;
}];
})();
------------------------------------------------------------------------------------------------------
郵便番号:postalcode
都道府県:prefectures
市区町村:city
以降住所:townname
jqueryのバージョン:jquery1.11.3min.js
9件のコメント
どのようなエラーが起きているのかわかりますでしょうか?
もしくは実際のフォームのURLを教えてもらえれば、なにかお答えできるかもしれません。
郵便番号の入力欄に数値(郵便番号)を入れると住所が自動入力されていたのですが、
現在は数値を入れても全く反応がありません。
一緒に入れているプレースホルダは問題なく稼働しています。
一応プレースフォルダ無しで稼働させてみましたが、それでも反応はありませんでした。
▼導入しているプレースホルダー
fb.events.form.created = [function (state) {
state.fields[2].attributes.placeholder = '※ハイフンなしでご入力ください'
state.fields[8].attributes.placeholder = '例)2018/01/01'
return state;
}];
実際のURLは諸事情の関係で大変申し訳ありませんが公開できません。
よろしくお願いいたします。
コンソールのログにエラーは吐かれていないでしょうか?
そのエラーの内容から、原因を調べることができるかと思います。
Uncaught TypeError: Cannot read property
'startContainer' of null
at catchWord(content.js:1)
at WeblioExtensions.MouseMoveHandler(content.js:1)
上記の文章が赤字で表示されていました。
以下のサイトを見ながらコンソールのエラーを調べたのですがお間違いないでしょうか?
https://eng-entrance.com/javascript-display-error
はい、合っております。
content.js の 1行目で startContainer という プロパティが見つからないというエラーですね。
設定されている郵便番号のJSとは関係ないJavaScriptでエラーが起きているようです。
他のファイルの影響で動かないようになっている可能性があります。
content.js になにか心当たりはありますでしょうか?
大変申し訳ありませんが特に心当たりがありません。
「content.js 」はフォームブリッジ上のどこかで編集や閲覧できたりするものなのでしょうか?
現在フォームブリッジに追加しているjsファイルは、上記で入力したものと「jquery1.11.3min.js」のみです。
質問ばかりで申し訳ありませんが、よろしくお願いいたします。
content.js はフォームブリッジとは関係ないファイルだと思います。
心当たりにないということは、何にファイルかと調べないといけないですね。
Chrome お使いであれば devTools の Network タブで 読み込んだリソースの確認ができます。
https://developers.google.com/web/tools/chrome-devtools/network-performance/resource-loading?hl=ja
ここで、content.js がどのホストにあるファイルで、どんな内容なのかわかるかと思います。
他のブラウザでも同じような機能がありますので、確認すると1歩進めるかと思います。
ご丁寧にありがとうございます。
上記方法で関係のありそうな場所を探してみます。
進展があった場合はまたご連絡させていただきます。
上記記載のエラーが表示されていましたが、
Chrome拡張機能のWeblioを止めることでエラーを止めることができました。