2012-12-12 113 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