2012-09-18 3 views
1

좋아, 아약스 호출에서 일부 데이터를 가져오고 자바 스크립트를 통해 onclick 요소에 매개 변수로 값을 저장해야합니다.javascript onclick 아포스트로피 따옴표 문제

output = "<a href = '#' onclick = 'deleteFileName('" + trim(splitString[i]) + "')'> delete File </a>"; 

이 이상하게 동작합니다. 내가 크롬 요소를 검사 할 때, 출력은 그것은 분명 내가 주위에 따옴표가 필요하므로 매개 변수는 String의이

<a href = "#" onclick = "deleteFileName('0design mockup.xlsx')"> 

과 같아야이

<a href="#" onclick="deleteFileName("0design mockup.xlsx')'> delete File </a> 

것 같습니다. 이것이 최선의 방법은 아닐지 모르겠지만 처음 두 개의 따옴표를 큰 따옴표로 만든 다음 마지막 두 개의 작은 따옴표를 만드는 이유는 무엇입니까?

* 이것은 ajax 호출을 사용하여 정보를 수집하는 JSP 서버입니다. "deleteFileName (fileNameIn)"함수는 ajax 호출입니다. (나는 이것이 필요한 정보라고는 생각하지 않지만 결코 알지 못한다)

답변

1

onclick 값과 함수 호출에 대해 동일한 종류의 따옴표를 사용할 수 없습니다. 하나에 대해서는 작은 따옴표가 필요하고 다른 것에 대해서는 큰 따옴표가 필요하다. 그렇지 않으면 onclick 속성을 함수 호출의 첫 번째 작은 따옴표로 닫습니다.

예 :

output = "<a href = '#' onclick = 'deleteFileName(\"" + trim(splitString[i]) + "\")'> delete File </a>"; 
+0

gah, 오, 그건 내 바보 같았습니다. 내 작은 세상에서 나는 그 싱글을 결정했습니다. 따옴표는 큰 따옴표 롤과 다르게 취급되었습니다. 감사합니다. –

0

정보를 검사하는 대신 페이지를 직접 wget하거나 말리거나 브라우저의 view-source 기능을 사용하는 것이 좋습니다. 요즘 나는 많은 브라우저가 정보를 미묘하게 부정확하게 표시한다는 것을 발견했습니다.

방정식에서 브라우저를 제거하는 것이 좋은 첫 번째 단계입니다. 문제가 발생한 위치를 정확히 보여주기 때문에 브라우저를 제거하는 것이 좋습니다.

+0

나는 페이지가로드 된 후 데이터베이스 정보를 붙여 자바 스크립트를 사용하기 때문에 소스보기하는 것은 도움이되지 않습니다. 원본 정보는 내가 정의한 기본 HTML (divs/tables)이며 정보가 매우 동적이어서 사실 후에 자바 스크립트를 사용합니다. 내 IDE에는 진단 기능이 없으며 새로운 소프트웨어를 다운로드하지 못하게하는 회사 컴퓨터에 있습니다. ( –