2012-01-31 62 views
2

以下代碼在IE8中一直拋出一個錯誤(僅限於)Javascript錯誤似乎只在IE8中

儘管警報中填寫了所有字段,但始終會出現。這是一個已知的問題?

if(errors == 0) { 
      return true; 
     } else { 
      alert("Please complete all (*) marked fields"); 
      return false; 
     } 

全碼:

$(function(){ 
    $("#d2b").click(function(){ 

     $("#first_name").val($("#bill_fname").val()); 
     $("#last_name").val($("#bill_lname").val()); 
     $("#del_address_1").val($("#bill_address_1").val()); 
     $("#del_address_2").val($("#bill_address_2").val()); 
     $("#del_city").val($("#bill_city").val()); 
     $("#del_county").val($("#bill_county").val()); 
     $("#del_postcode").val($("#bill_postcode").val()); 

     return false; 
    }); 

    $("#gpn").submit(function(){ 

     errors = 0; 

     $("#gpn input[type='text']").each(function(){ 
      var nm = $(this).attr('name'); 

      if(nm == 'bill_address_2' || nm == 'del_address_2' || nm == 'groupon_barcode') { 
       ; 
      } else { 

       if($(this).attr('name') == 'code') { 
        var gpncode = $(this).val(); 

        if(gpncode.length != 10) { 
         errors++; 
         alert("Uh Oh"); 
         return; 
        } 

        var str = gpncode; 

        var patt=/[0-9A-Za-z]{10}/g; 

        var result=patt.test(str); 

        if(!result) { 
         errors++; 
         alert("this should be longer"); 
        } 

        return; 
       } 

       if($(this).val() == '') { 
        errors++; 
       } 
      } 

     }); 

     if(errors == 0) { 
      return true; 
     } else { 
      alert("Please complete all (*) marked fields"); 
      return false; 
     } 
    }); 
}); 
+0

如果您比較錯誤一些嘗試錯誤=== 0 – 2012-01-31 15:35:47

+0

貼上方編輯;)感謝球員 – meohmy 2012-01-31 15:51:22

回答

1

的代碼並不顯示errors實際上被宣佈任何地方。要麼你沒有發佈完整的代碼,要麼嘗試使用隱式聲明。不建議後者,嘗試宣告你的錯誤變量,如:

var errors = 0;