2012-04-08 5 views
0

두 필드가 있습니다. (이미 필드 1에 대한 검증 기능을 수행하고 2)javascript의 두 함수에서 양식의 두 필드가 일치합니다.

field01 클라이언트 번호 TXXXXX xxxxx는 있습니다 (TG 또는 M 가능)

field02 416/647분의 905

가 I '는 지역 코드를 가지고 d는 T를 416, G를 905, M을 647과 일치시키고 싶습니다. 과 규칙이 깨진 경우 관계 오류가 표시됩니다.

둘을 비교하려고하는 별도의 기능을 만들었습니다.

 function validatecompare(errMessages) 
    { 

     var clientID = document.pizza.field02; 
     var telenum = document.pizza.field03; 

     var client = clientID.value; 
     var phone = telenum.value; 
     var firstL = ""; 
     var areaC = ""; 


firstL=client.substr(0,1); 
areaC =phone.substr(0,3); 


    if ((firstL) !=areaC) 
     { 
      errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n"; 
     } 


    return errMessages; 

} 

나는 그것이 틀렸다는 것을 알고있다. 나는 두 개의 분리 된 기능에서 두 개의 필드를 비교하는 방법을 모른다. 내가하는 일에 관계없이 오류 메시지가 나타납니다. 필드 1과 2의 규칙을 위반하더라도 오류 메시지가 표시되면 해당 메시지가 표시됩니다.

만약 내가 이것을 읽을 수있는 방법이 있다면 나중에 참조 할 때 우수 할 것입니다.

도움을 주시면 대단히 감사하겠습니다.

+1

는'firstL' 항상 하나 개의 문자가,'areaC' 항상 세, 그들이 그렇게 '416'를 수행하여 같은 – gpasci

답변

2

문자 그대로 416T을 비교하고 있습니다. 그 변수 안에 'T':

function validatecompare(errMessages) { 
    var clientID = document.pizza.field02; 
    var telenum = document.pizza.field03; 

    var client = clientID.value; 
    var phone = telenum.value; 
    var firstL = client.charAt(0); 
    var areaC = phone.substr(0, 3); 

    var areaCodes = { 
     '416': 'T', 
     '905': 'G', 
     '647': 'M' 
    }; 

    if(firstL !== areaCodes[areaC]) { 
     errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n"; 
    } 

    return errMessages; 
} 
+0

수 없을거야 : 당신은 조회 테이블의 일종 필요 그거 일치하니?. 그리고 charAt를 사용했는데 왜냐하면 ... char는 글자를위한 것입니까? charAt (0)는 인덱스 0에서 문자를 찾습니다. 미안 내가 묻는 것은 어리석은 롤, 나는 단지 내가 여기서 무슨 일이 일어나고 있는지 확인하고 싶습니다. – Umeed

+1

@ 위드 : 그래, 맞아. 그것이하는 일은 해당 속성을 가진 개체를 만들고 개체의 속성을 조회하는 것입니다. '.charAt (0)'이 첫 번째 문자입니다. 그것은 단지'.substr (0, 1)'을 말하는 더 간결한 방법입니다. – Ryan

+0

정말 고마워요 도움을 많이 주셔서 감사합니다. – Umeed

관련 문제