2012-04-11 11 views
0

Ich bin fast fertig mit meinen Websites neu aufgebaut und bin jetzt in der Testphase. Beim Testen in IE7 und 8 habe ich herausgefunden, dass aufgrund eines JSON-Skripts meine JQuery-Skripte nicht richtig funktionieren, obwohl sie in allen anderen Browsern, einschließlich IE9, funktionieren.Warum funktioniert dieses Json-Skript nicht in IE7 & 8, funktioniert aber in allen anderen Browsern?

Die Seite lautet: http://www.carcityofdanbury.com/New/?cat=01&do=View&stock=18481

Das Skript die Info Anfrageformular ist, etwas in dieser Zeile: ".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>")" verursacht die jquery Tabs nicht mehr funktionieren.

Ich habe die PHP und Jquery Codierung, aber jemanden eingestellt, um die JSON zu tun, so dass ich nicht weiß, wie das zu beheben. Irgendwelche Ideen?

+6

Hired jemand die JSON zu tun? – alex

+0

das "Info Request" -Formular wurde von jemand anderem gemacht –

Antwort

1

Das Problem ist mit data.for und es klingt ein bisschen wie Sie (die Person, die den Code schrieb) versuchen, auf einen der reservierten Namen zuzugreifen. Auch wenn data.for gültig sein sollte, mag der IE keine Namen, die er für besonders hält (zB Klasse). data.class würde ein Problem in IE verursachen, obwohl es gültig ist.

Versuchen Sie, data.for zu etwas anderem data._for zum Beispiel umzubenennen. Stellen Sie sicher, dass Sie die 01/Resources/infoRequest.php PHP-Datei aktualisieren, um den neuen Wert ebenfalls zurückzugeben.

+0

Ich habe data.for zu data.test geändert, und das hat das Problem nicht gelöst. –

+0

Sie müssen auch '01/Resources/infoRequest.php' aktualisieren. Die Daten, die vom AJAX-Aufruf zurückgegeben werden, beziehen sich immer noch auf 'for', also heißt es jetzt:" ... wir haben Ihre Info-Anfrage undefined auf unserem ... "erhalten. Ich sehe den ursprünglichen Fehler jedoch nicht mehr in IE. –

+0

Das ist so seltsam, weil das IE8 Problem gelöst hat, aber immer noch nicht IE7. –

1

es gelöst ... Es ein zusätzliches Komma im Code war:

 <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> 
Verwandte Themen