2013-02-27 8 views
1

input box에서 textarea으로 전환 한 후 다음과 같은 문제가 발생합니다. Uncaught SyntaxError: Unexpected token Error 이 오류는 제출 후 텍스트 영역에 입력 된 텍스트를 삭제하려고 할 때 발생합니다.잡히지 않은 SyntaxError : 예기치 않은 토큰 오류

텍스트 영역 :

<textarea name="chatter"></textarea> 

함수 호출 :

<a href='javascript:void(0);' 
onClick='deletecmnt(this, '".$val['id']."', '".BASE_URL."');' 
    title='Delete Chatter'>X</a>; 

삭제 기능 : 크롬 안에 내가 위에 그러나 파이어 폭스에서 설명한 오류를받을 수 있도록

function deletecmnt(obj, cmt_id, baseurl){ 
    var lg_chk = loginchk(); 
    if(lg_chk){ 
     var object = $(obj).parent().parent(); 
     $.ajax({ 
      type: "GET", 
      // error: function(error){console.log("Error:");console.log(error);}, 
      url:baseurl+'deletechatter.php?id='+cmt_id, 
      dataType:'json', 
      success:function(response){ 
       object.remove(); 
      } 
     }); 
    } 
    else 
     location.href=baseurl; 
} 

좋아, 내가받을 다음 :

SyntaxError: syntax error  

deletecmnt(this, 

그러나 입력 상자를 사용할 때 문제가 발생하지 않으며 작동하지 않습니다. 나는 그것을 되돌려 놓고 작동하기 때문에 그것이하는 텍스트 영역에 대해서는 무엇이 있는가? 제가 뭘 잘못하고 있는지 알려주세요. 여기

는 내가 지금까지 무엇을 가지고 있습니다 :

<a data-id='".$val['id']."' data-base-url='".BASE_URL."' href='javascript:void(0);' title='Delete Chatter'>x</a> 

<script>$("a[title='Delete Chatter']").on('click', deletecmnt);</script> 

function deletecmnt(obj, cmt_id, baseurl){ 
var lg_chk = loginchk(); 
if(lg_chk){ 
    var object = $(this).parent().parent(); 
    $.ajax({ 
     type: "GET", 
     // error: function(error){console.log("Error:");console.log(error);}, 
     url:baseurl+'deletechatter.php?id='+cmt_id, 
     dataType:'json', 
     success:function(response){ 
      object.remove(); 
     } 
    }); 
} 
else 
    location.href=baseurl; 

}

+2

PHP를 사용중인 것 같습니다. 렌더링 된 결과를 보여주십시오. 나는 그것이 오류로 이어질 내기 ... –

+2

^^^^^ Lee Taylor가 말합니다. PHP 코드 대신 HTML 소스를 보면 즉시 문제가 표시됩니다. – bfavaretto

답변

1

은 따옴표를 잘못 :

onClick='deletecmnt(this, "'.$val['id'].'", "'.BASE_URL.'");' 

찾는 방법 당신 열고 닫는 작은 따옴표.

1

당신은 조기에 아포스트로피를 닫는 :

deletecmnt(this, 

는 ... 전체 onclick된다. jQuery를 사용하고 있기 때문에 바인딩하는 것이 훨씬 더 합리적입니다 (그렇지 않더라도 JS로 그렇게하는 것이 좋습니다). 이 앵커가 될 것이다, this을 참조하도록

$("a[title='Delete Chatter']").on('click', deletecmnt); 

당신은 deletecmnt를 업데이트 할 수 있습니다. 또한 ID 및 BASE_URL을 DOM의 일부로 저장하도록 앵커를 업데이트하십시오.

<a data-id='".$val['id']."' data-base-url='".BASE_URL."' 
+0

나는 그 밖의 모든 것을 가지고 있다고 생각하지만 이것을 어떻게 참조 할 지 확신하지 못합니다. 예제를 제공해 줄 수 있습니까? –

+0

'deletecmnt' 함수 안에'this' 만 사용하면 앵커 여야합니다. 'var object = $ (this)) .parent(). parent()'예를 들어 –

+0

이제는 발사되지 않기 때문에 상단에 추가 한 코드를 보시오. –

관련 문제