2012-04-11 57 views
0

我幾乎完成了我的網站重建,現在正處於測試階段。雖然在IE7和8測試中發現,由於json腳本的原因,我的jQuery腳本無法正常工作,即使它們在所有其他瀏覽器(包括IE9)中都可以正常使用。爲什麼這個json腳本不能在IE7&8中工作,但可以在所有其他瀏覽器中工作?

的頁面是:http://www.carcityofdanbury.com/New/?cat=01&do=View&stock=18481

腳本是信息申請表,一些在這一行: ".append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.for + " on our<br />'.$vehicle.' and will contact you shortly.</p>")"導致jQuery的標籤不再起作用。

我做了php和jquery編碼,但聘請了某人做json,所以我不知道如何解決這個問題。有任何想法嗎?

+6

僱人做JSON? – alex 2012-04-11 02:57:35

+0

「Info Request」表單由其他人完成 – 2012-04-11 03:25:23

回答

1

問題在於data.for,它聽起來有點像你(編寫代碼的人)試圖訪問其中一個保留名稱。儘管data.for應該是有效的,但IE不喜歡它認爲特殊的名稱(例如類)。 data.class會在IE中導致問題,即使它是有效的。

嘗試將data.for重新命名爲data._for。確保您更新01/Resources/infoRequest.php PHP文件以返回新值值。

+0

我將data.for更改爲data.test,但並未解決問題。 – 2012-04-11 03:56:51

+0

你也需要更新'01/Resources/infoRequest.php'。從AJAX調用返回的數據仍然引用'for',所以它現在說'...我們收到您的信息請求未定義在我們的...'。儘管我在IE中看不到原始錯誤。 – 2012-04-11 04:00:55

+0

這是如此奇怪,因爲這解決了IE8問題,但仍然不是IE7。 – 2012-04-11 04:09:48

1

解決它......有沒有在代碼中的額外的逗號:

 <script language="javascript" type="text/javascript"> 
     $(document).ready(function() { 

     // Tabs 
      $("#tabs").tabs(); 

     // Google map 
      $(\'#embed\').gmap3(
       {action: \'addMarker\', lat:41.40372, lng:-73.45844, map:{center: true, zoom: 17, mapTypeId: google.maps.MapTypeId.ROADMAP}} 
      ); 

     // Pic popup 
      $("#viewPics").fancybox({ 
       \'type\': \'iframe\', \'transitionIn\': \'fade\', \'transitionOut\': \'fade\', \'width\': 900, \'height\': 500, \'autoScale\': false, \'scrolling\': \'no\' 
      }); 

     // Form Validation 
      jQuery.validator.messages.required = ""; 
      $("#infoForm").validate({ 

       invalidHandler: function(e, validator) { 
        var errors = validator.numberOfInvalids(); 
        if (errors) { 
         var message = errors == 1 
          ? \'You missed 1 required field.\' 
          : \'You missed \' + errors + \' required fields\'; 
         $("li.Error span").html(message); 
         $("li.Error").show(); 
        } else { 
         $("li.Error").hide(); 
        } 
       }, 

       onkeyup: false, 
       submitHandler: function(form) { 
        $.ajax({ 
         url: "01/Resources/infoRequest.php", 
         type: "POST", 
         cache:false, 
         data: $("#infoForm").serialize(), 
         dataType: "json", 
         success: function(data) { 
          $("li.Error").hide(); 
          $("#contact_form").html(\'<div id="message"></div>\'); 
          $("#message").html("<h2>Info Request Submitted!</h2>") 
          .append("<p>Thank you " + data.name + ",</p><p class=\"indent\">we recieved your info request " + data.test + " on our<br />'.$vehicle.' and will contact you shortly.</p>") 
          .hide() 
          .fadeIn(2500, function() { 
           $("#message").append("<p>Would you like to <a href=\"?cat=02&stock='.$stock.'\">prefill an application</a> now?</p>") 
          }); 
         } 
        }); 
       }, <------- This guy was the culprit 

      }); 

     }); 
    </script> 
相關問題