2013-12-09 3 views
0

꽤 많은 기사를 읽었으며 몇 가지 방법을 시도했지만 작동하지 못했습니다.전달 된 URL 문자열이 문자열로 해석되지 않습니다.

htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(' + url + '); return false;"><span><span>' + addWithButonTitle + '</span></span></button>'; 

및 기능 자체는 :

getProductUrl: function(url) { 
     return setLocation('\'' + decodeURIComponent(url) + document.getElementById('qty_field').value + '\''); 
    }, 

명백하게, url의 스트링 값은 문자열로 간주되지 않는다. 브래킷이없는 오류가 발생합니다 : getProductUrl(http:^//...rest of the url. 물론 문제는 괄호 안에 없지만 //은 주석의 시작으로 처리됩니다.

그럼 내가해야 할 일은이 url 문자열 값을 올바르게 문자열로 전달하는 것입니다. decodeURIComponent(url) 문자열을 반환해야하기 때문에 나는 (먼저 디코딩 및 통과를 시도 또한 내가 String(url)url + ""을 시도 또한 어떻게 든 특수 문자 이스케이프 :... url.replace('/','\/') 심지어 /g 꼬추, 전혀 작동하지 않았다

을 그래서, 이 모든 접근은 실패했다 정말 힌트 또는 여기에 대한 해결책을 부탁드립니다

+1

'onclick = "getProductUrl ('+ url + ');"을 둘러싼 코드는 무엇입니까? 그게 완벽한 라인이 아닌가 싶습니다. –

+0

@FelixKling - 전체 코드를 입력하여 질문을 업데이트했습니다. :) – Syspect

+1

그 경우 코드는 다음과 같아야합니다 : 'htmlCode + = ''; ' – peerless

답변

3

코드의 업데이트 된 라인이 하나

onclick="getProductUrl('" + url + "');" 

을 시도해보십시오..

htmlCode += '<button id="' + addButtonId + '" title="' + addButtonTitle + '" class="button" onclick="getProductUrl(\'' + url + '\'); return false;"><span><span>' + addWithButonTitle + '</span></span></button>'; 
+0

'onclick이있는 코드 전체를 삽입하여 내 게시물을 업데이트했습니다. 이것을 봐주세요. 그리고 나는'url'이 변수 대신에 직접 입력 된 문자열로 취급되기 때문에 당신의 접근법을 시도했습니다. 이것은 효과가 없었습니다. 어쩌면 내 업데이트를 확인한 후에 다른 방법을 제시 할 것입니다. :) – Syspect

+1

코멘트를 확인하십시오 나는 당신의 질문을 울부 짖었다. 탈출에 관한 전부입니다. – peerless

관련 문제