2011-02-16 3 views
3

일부 코드의 유효성을 검사하기 위해 자바 스크립트를 사용하고 있지만 정상적으로 작동하지만 경고를 표시 할 때마다 경고 메시지가 시작될 때마다 '정의되지 않음'이 표시됩니다. 따라서 경고문에 '낮은 목표를 입력하십시오.'라는 메시지가 표시되면 대신 '정의가 부족합니다. 낮은 목표를 입력하십시오'라고 표시됩니다. 누군가 내 코드에 어떤 문제가 있다고 말할 수 있습니까?경고에 '정의되지 않음'이 표시됨

//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); 

(그래서 당신이 올바른에서 사용하고있는 것을 이중으로 확인 형식을 사용하십시오.)

관련 문제