2012-12-26 3 views
0

복사 함수가 다음 사용자가 텍스트 영역에 @를 입력하면,이 사업부를 볼 수 있습니다 및 키워드의 배열에서 제안 사업부를 채 웁니다. div 뒤에 공백이 채워질 때까지 @ 뒤에 입력되는 내용과 일치하는 모든 배열 항목. 복사 기능은 텍스트 영역 갑자기자바 스크립트 기능 - 구문 오류

모두의 onKeyUp에 이벤트에 부착되어, 브라우저는 복사가 정의되어 있지 않은 기능을보고합니다. 이것이 구문 오류라고 생각합니다. 나는 내 코드를 수 백 번 보았는데, 나는 실수를 발견 할 수 없다.

function copy() 
{ 
    var ta = document.getElementById("ta") ; 
    var taarray = ta.value.split(" ") ; 
    var lastword = taarray[taarray.length - 1] ; 
    document.getElementById('selector').innerHTML = " " ; 
    if (lastword.indexOf("@") == 0) 
    {  
     selector1(); // Function that makes the div visible 
     if (lastword.substr(1).length > 0) 
     { 
      var f = 0 ; 
      while (f <= friends.length) 
      { 
       if (friends[f].toLowerCase().indexOf(lastword.substr(1).toLowerCase()) != -1) 
       {     
        var x ; 
        x = "<a onmouseover=projectImage('" + friends[f].split(|)[1] + "') onclick=tagfriend('" + friends[f].split("|")[1] + "') >" ; 
        x += friends[f].split("|")[0] ; 
        x += "</a>" ;          
        document.getElementById('selector').innerHTML = x + "<br />" ; 
       } 
       f++ ;   
      } 
     } 
    } 
    else 
    { 
    } 
} 
+2

어떤 오류가 발생합니까? – Shmiddty

+1

구문 오류가 .split [F] 친구 '에있다 (|) [1]'- JSHint 처음 다음에 ... – gengkev

+0

는 함수가'window.onload' 이벤트 또는 본문의 내용에 정의되어 있는지 확인합니다 스크립트 태그에. – 0x499602D2

답변

1

"복사"(소문자)로 함수를 정의했기 때문에 "복사"가 정의되지 않았습니다. 변수 및 함수 이름은 JS에서 대소 문자를 구분합니다. 그러나 이것은 단지 의견에 의해 제안 된 많은 다른 오류 중 하나입니다. JSLint와 같은 디버깅 도구를 사용하여 이러한 문제를 해결하는 것을 고려해야합니다.