1

У меня проблема с IE8 (ничего нового там нет). Ошибка, которую я получаю, не имеет большого смысла, поскольку она не встречается в FF или Chrome. Вот код:jQuery 1.4.2 Ошибка IE8 на странице ожидается ')'

function remComp(id, trade) { 
      $.ajax({ 
       url: "functions/removePriceSurveyComparison.php", 
       type: "POST", 
       async: true, 
       data: "id="+id, 
       dataType: "xml", 
       success: function(xmlData) { 
        if ($("success", xmlData).text() == "true") { 
         loadComps(trade); 
        }// TODO create error handler 
       } 
      }); 
     } 

В этой функции он жалуется на строку, в которой определяется обратный вызов успеха. Хотя эта функция еще не была вызвана? Но когда он вызывает вызов, он отлично работает, хотя все еще создает новые ошибки?

Функция, которая вызывается, хотя это:

 function loadComps(trade) { 
      $.ajax({ 
       url: "functions/loadPriceSurveyComparisons.php", 
       type: "POST", 
       async: true, 
       data: "trade="+trade, 
       cache: false, 
       dataType: "html", 
       success: function(comps) { 
        $("#current"+trade).html(comps); 
       } 
      }); 
     } 

Вторая функция в основном вызывался 3 раза при загрузке страницы. Любой совет?

Вот полный блок сценария, а также:

 function remComp(id, trade) { 
      $.ajax({ 
       url: "functions/removePriceSurveyComparison.php", 
       type: "POST", 
       async: true, 
       data: "id="+id, 
       dataType: "xml", 
       success: function(xmlData) { 
        if ($("success", xmlData).text() == "true") { 
         loadComps(trade); 
        }// TODO create error handler 
       } 
      }); 
     } 

     function addComp(trade, albId, compId) { 
      $.ajax({ 
       url: "functions/addPriceSurveyComparison.php", 
       type: "POST", 
       async: true, 
       data: "trade="+trade+"&albId="+albId+"&compId="+compId, 
       cache: false, 
       dataType: "xml", 
       success: function(xmlData) { 
        if ($("success", xmlData).text() == "true") { 
         loadComps(trade); 
        }// TODO add an error handler 
       } 
      }); 
     } 

     function updateComp(id, trade) { 
      var albId = $("select#albProd"+id).val(); 
      var compId = $("select#compProd"+id).val(); 

      $.ajax({ 
       url: "functions/updatePriceSurveyComparison.php", 
       type: "POST", 
       async: true, 
       data: "id="+id+"&albId="+albId+"&compId="+compId, 
       cache: false, 
       dataType: "xml", 
       success: function(xmlData) { 
        if ($("success", xmlData).text() == "true") { 
         // reload table for this trade 
         loadComps(trade); 
        }// TODO create error handler 
       } 
      }); 
     } 

     // function that loads all of the comparisons for a specific trade 
     function loadComps(trade) { 
      $.ajax({ 
       url: "functions/loadPriceSurveyComparisons.php", 
       type: "POST", 
       async: true, 
       data: "trade="+trade, 
       cache: false, 
       dataType: "html", 
       success: function(comps) { 
        $("#current"+trade).html(comps); 
       } 
      }); 
     } 

     // define document.ready function 
     $(document).ready(function() { 
      // load all of the comparisons for each trade 
      <?php 
      foreach ($trades as $trade) { 
       echo "loadComps(\"$trade\");\n"; 
       ?> 
       $("#addComp<?php echo $trade; ?>").click(function(e) { 
        e.preventDefault(); 
        addComp("<?php echo $trade; ?>", $("#albProd<?php echo $trade; ?>").val(), $("#compProd<?php echo $trade; ?>").val()); 
       }); 
       <?php 
      } 
      ?> 
     }); 
+3

Это выглядит прекрасно для меня. И у меня есть своя спецификация. – Marko

+0

Хе-хе, да, но IE8 испытывает головную боль и, по-видимому, имеет ошибки на странице, которая на самом деле ничего не делает, неприемлема .... – thorne51

+0

Любые другие скрипты на странице? – Marko

ответ

1

сообщение об ошибке JSLint в «Подразумевается Global» означает, что есть определенные переменные, которые отсутствуют в «переменной» определение ... это особенно проблематично для IE8 , Вам нужно пройти и добавить «var» к указанным номерам строк (да, есть много).

Вы используете Asset Packager? Здесь может быть виден порядок того, как активы перечислены в вашем пакете активов.

Смежные вопросы