2012-04-11 12 views
0

サイトの再構築がほぼ完了し、テスト段階に入っています。 IE7と8でテストしている間に、jsonスクリプトのために私のjqueryスクリプトがIE9を含む他のすべてのブラウザでも正しく動作しないことが判明しました。なぜこのjsonスクリプトはIE7と8では動作しませんが、他のすべてのブラウザで動作しますか?

ページは次のとおりです。 ".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のタブを引き起こしている:http://www.carcityofdanbury.com/New/?cat=01&do=View&stock=18481

スクリプトは、情報リクエストフォーム、この行のものです。

私はphpとjqueryコーディングを行いましたが、jsonをやるために誰かを雇ったので、これを修正する方法はわかりません。何か案は?

+6

はJSONを行うために誰かを雇いましたか? – alex

+0

「Info Request」フォームが他の誰かによって実行されました –

答えて

1

問題はdata.forであり、あなた(コードを書いた人)のように少し聞こえて予約名の1つにアクセスしようとしています。 data.forが有効であるにもかかわらず、IEは特殊(クラスなど)だと思う名前は好きではありません。 data.classは、有効であってもIEで問題を引き起こします。

data.forの名前を変更すると、たとえばdata._forに変更されます。 01/Resources/infoRequest.php PHPファイルを更新して新しい値も返すようにしてください。

+0

data.forをdata.testに変更しても問題は解決しませんでした。 –

+0

'01/Resources/infoRequest.php'も更新する必要があります。 AJAX呼び出しから返されるデータはまだ 'for'を参照しているので、今は' ...私たちはあなたの情報要求を私たちの上で定義されていません... 'と言います。私はもはやIEで元のエラーは表示されません。 –

+0

これはIE8の問題を解決したがIE7はまだ解決していないので非常に嫌です。 –

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> 
関連する問題