2012-12-12 114 views
1

我是使用JavaScript的新手,這是某人放入C#ASP.Net網站的代碼,它應該從輸入的郵政編碼中獲取城市和州。它在IE9,Chrome,Firefox中運行良好,但在IE8中失敗。我不知道爲什麼。這裏是JavaScript,我希望某些人能夠突顯出來。我還包括使用它的標記。我不知道它在哪裏失敗,我得到Pcodefail結果並顯示'* Unable to find Postal Code'。Javascript代碼不能在IE8中工作

<script type="application/javascript"> 
    $(document).ready(function() { 
     $('#Pcodefail').hide(); 
    }); 
</script> 

<script type="application/javascript"> 
    $(document).ready(function() { 
     $('[id$=uxPostalCode]').focus(function() { 
      var city = $('[id$=uxCityState]'); 
      city.val(''); 
     }); 

     $('[id$=uxPostalCode]').blur(function() { 
      var city = $('[id$=uxCityState]'); 
      var oCity = $('[id$=uxCity]'); 
      var oState = $('[id$=uxState]'); 
      $.getJSON("http://www.geonames.org/postalCodeLookupJSON?&country=US&callback=?", { postalcode: this.value }, function (response) { 
       //$.getJSON("http://api.geonames.org/findNearbyPostalCodesJSON?postalcode=?&country=US&radius=10&username=demo", { postalcode: this.value }, function(response) { 
       if (!city.val() && response && response.postalcodes.length && response.postalcodes[0].placeName) { 
        city.val(response.postalcodes[0].placeName + ', ' + response.postalcodes[0].adminCode1); 
        oCity.val(response.postalcodes[0].placeName); 
        oState.val(response.postalcodes[0].adminCode1); 
        $('#Pcodefail').hide(); 
       } 
       else { 
        $('#Pcodefail').toggle(); 
       } 
      }); 
     }); 
    }); 
</script> 

HTML

<div class="base-container-controls-100pct"> 
    <div class="base-container-controls-20pct"> 
     <div class="label-sm">Postal Code<span style="color: #ff0000; vertical-align: top">*</span>&nbsp;</div> 
    </div> 
    <div class="base-container-controls-50pct"> 
     <asp:TextBox ID="uxPostalCode" CssClass="textbox-sm" Text="" TabIndex="7" runat="server" MaxLength="11"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="uxreqValZip" runat="server" ErrorMessage="Postal Code" Font-Bold="False" Text="*" ValidationGroup="one" ControlToValidate="uxPostalCode"></asp:RequiredFieldValidator> 
     <div id="Pcodefail" style="color: Red">* Unable to find Postal Code</div> 
    </div> 
</div> 
+4

這是jQuery,你得到什麼錯誤信息,它在哪裏失敗? – Gabe

+0

請將此替換爲症狀描述(錯誤消息,意外行爲)以及產生問題的簡短自包含代碼片段。 –

+0

我更新了使用javascript的標記的代碼區域。 – Kevin

回答

4

我不是100%肯定,但在代碼的一個粗略的檢查,脫穎而出的第一件事情是標籤<script type="application/javascript">。我相當確定它應該是<script type="text/javascript">。 IE對JS標籤非常挑剔。

+0

尤里卡!就是這樣。謝謝一堆!這是幾天以來的祕密。 – Kevin

+0

非常好,很高興我能幫到你。 –

+0

馬克艾略特的答案是正確的答案,所以他會得到點。 :) – Sev