-1

お問い合わせフォームに入力された郵便番号に基づいて、ユーザーの市と州をWebサイトに事前に入力するこのコードがあります。

Google ChromeとFirefoxで完全に機能しますが、IEでは機能しません。

誰かがその理由を知っていますか?もしそうなら、あなたは私のためにコードを修正できますか?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<!--Realtime City/State Update From Zip Code Post-in-->
<script>
    $(document).ready(function () {
        var zip = $("#zip").val();
        $.getJSON('http://zip.elevenbasetwo.com/v2/US/' + zip, function (json) {
            $('#city').val(json.city);
        });
        $.getJSON('http://zip.elevenbasetwo.com?zip=' + zip, function (json) {
            $('#state').val(json.state);
        });
    });
</script>
<!--On Edit/Keyup City/State Update-->
<script>
    $(document).on("keyup", "#zip", function () {
        var zip = this.value;
        $.getJSON('http://zip.elevenbasetwo.com/v2/US/' + zip, function (json) {
            $('#city').val(json.city);
        });
        $.getJSON('http://zip.elevenbasetwo.com?zip=' + zip, function (json) {
            $('#state').val(json.state);
        });
    });
</script>

編集
私が意味するのnot workingは、Google ChromeとFirefoxでは、連絡先フォームの[市と州]フィールドに、入力した郵便番号に基づいて自動的に事前入力されるということです。

ただし、IE(私にとってはバージョン9)では、City&Stateフィールドは本来のように事前入力されていません。

4

1 に答える 1

0

アップデート

jsonには何の問題もありません。これは、IEのクロスドメインリクエストの問題です。

jQueryの一般的な解決策jQuery.support.cors = true;は、コードの先頭に追加することです。しかし、これは機能しない可能性があります。

IE8 +にはwindow.XDomainRequestがあり、クロスドメインリクエストを行うことができます。

これがそのためのjQueryプラグインですが、それを機能させる方法がわかりません。

ajaxHooks xdr

または、サーバー上のプロキシから、またはフラッシュを使用して情報を取得することもできます。

詳しくは

于 2012-08-14T23:44:46.530 に答える