2011-02-16 89 views
3

我正在使用Javascript來驗證一些代碼,並且它工作正常,但是每當我調用alert來顯示錯誤時,在警報消息的開始處我都會得到'undefined'。因此,當我預計警報顯示'請輸入低目標'時,我會得到'未定義請輸入低目標'。有人可以告訴我我的代碼有什麼問題嗎?'undefined'出現在警報中

//validation 
     var lowTarget; 
     var highTarget; 
     var errorList; 
     var isValid = true; 

     lowTarget = $('input[name="txtLowTarget"]').val(); 
     highTarget = $('input[name="txtHighTarget"]').val(); 

     if (lowTarget == "") { 
      errorList += "Please enter a Low Target\n"; 
      isValid = false; 
     } 
     else { 
      if (isNumeric(lowTarget) == false) { 
       errorList += "Low Target must be numeric\n"; 
       isValid = false; 
      } 
     } 

     if (highTarget == "") { 
      errorList += "Please enter a High Target\n"; 
      isValid = false; 
     } 
     else { 
      if (isNumeric(highTarget) == false) { 
       errorList += "High Target must be numeric\n"; 
       isValid = false; 
      } 
     } 

     if (isValid == true) { 
      if (!(parseFloat(highTarget) > parseFloat(lowTarget))) { 
       errorList += "High Target must be higher than Low Target\n"; 
       isValid = false; 
      } 
     } 

     if (isValid == false) { 
      alert(errorList); 
     } 

回答

8

將一些默認值分配給errorList,例如,空字符串

var errorList = ""; 

直到你做到這一點,的errorList初值爲undefined

0

同時使用

var try2 = document.getElementsByName("y_email").value; 
alert(try2); 

我發現在我的項目同樣的問題,現在我用下面的,而且運作良好

var try2 = document.getElementsByName("y_email")[0].value; 
alert(try2); 

(所以要加倍確保您使用的是正確的什麼格式來使用。)