2013-02-04 2 views
3

기본 개요는 웹 매핑 응용 프로그램에서 부적절한 콘텐츠에 플래그를 지정하는 기본 방법을 만드는 것입니다. 사용자가 점을 클릭 할 때 웹 맵의 사이드 바에 대한 콘텐트를 동적으로 생성하는 함수 내에서 플래그의 이미지를 생성해야하는이 코드 조각이 있습니다.Javascript onclick 함수 호출 문제 : 문자열을 전달하지 않습니다

사용자가 플래그를 클릭하면 url 문자열을 함수에 전달해야하는 flagContent 함수를 실행하려고합니다. 이 함수 내에서 나중에 데이터베이스에 쓸 수 있습니다 (비록 아직까지 만들지는 않았지만). 여기

난 :

1.이이 플래그 화상이 연결된 기능

함수

content += "<p class='info'><img id='flag' onclick='flagContent(" + attachmentInfo.url + ") 
'src='assets/flag.png' style='height:15px'>Flag as inappropriate...</p>"; 
  1. 생성되는 곳인 작업 된 몇몇 코드 니펫 flagContent (imageUrl) {console.log (imageUrl)}

기본적으로 url은 문자열이며 flagContent 함수 내에서 URL을 조작하고 싶습니다. 불행히도 나는 그것을 작동시킬 수 없다. 같은 숫자 매개 변수를 전달하면 attachmentInfo.objectID 같은 문제가 발생하지 않습니다.

그것은 가치가 무엇인지 나는 또한이 오류를 얻을 경우 : 어떤 도움을 크게 감상 할 수

Uncaught SyntaxError: Unexpected token :

합니다. 이 문제를 해결하는 데 도움이되는 추가 정보가 있으면 알려주십시오. 감사!

+1

'attachmentInfo.url'의 평가 대상은 무엇입니까? – Floris

+0

'height : 15px'가 문제의 원인입니까? 그리고'flagContent (' "+ attachmentInfo.url +"') ' – hunter

+0

생성되는 HTML을 확인하십시오. flagContent()의 문자열 매개 변수도 Javascript로 인용해야합니다. – devio

답변

11

나는 attachmentInfo.url이 문자열이어야하며 단지 따옴표로 둘러 쌀 필요가 있다고 가정합니다. 이미 두 가지 유형의 따옴표를 모두 사용 했으므로 따옴표를 이스케이프 처리해야합니다.

content += "<p class='info'>"; 
content += "<img id='flag' onclick=\"flagContent('" + attachmentInfo.url + "')\" src='file.png'/>"; 
content += "Flag as inappropriate..."; 
content += "</p>"; 

는 수행이 최종 출력이 같이 넣어 모양을 만든다 :

<p class='info'> 
    <img id="flag" onclick="flagContent('http://example.com')" src='file.png'/> 
    Flag as inappropriate... 
</p> 

당신이 URL은 따옴표로 둘러싸여하고 flagContent(http://example.com)을보고 무엇을 몰랐되지 않았 음을이었다 있었다 문제 그 끈적 끈적한 말은 끈으로 묶어서하지 마라.

+0

매력처럼 작동합니다! 도움을 주셔서 감사합니다 – user1270657

+0

오랫동안 저를 괴롭 히고있었습니다. – Shaz