2011-10-11 3 views
1

gsp 페이지 (템플릿)에서 javascript를 일부 포함해야합니다. 아래 예제에서 remoteFunction을 이해하려면 어떻게해야합니까? moneyTransId는 javascript 함수로 설정됩니다. MoneyTransId는 경고창에서 정상적으로 나오지만 remoteFunction에서 작동하도록 할 수는 없으며 어떻게 든 그것을 벗어날 필요가 있습니다.grails gsp javascript 통합, 어떻게 변수를 탈출?

<script type="text/javascript"> 
function confirmVoid(moneyTransId) { 
    var r = confirm("Please confirm the void"); 
    if (r == true) { 
     alert("ID is: " +moneyTransId); 
     ${remoteFunction(action:"voidTransaction", id:moneyTransId)}; 
      ... 

답변

2

은 다음 구문을 사용합니다. 희망이 도움이됩니다.

+0

감사합니다 mjavault, 그 작품. 매우 감사. – Ray

0

서버 측 변수 및 명령문은 클라이언트 측 (javascript) 변수를 읽을 수 없습니다. 서버 측 코드가 먼저 실행되고 html과 javascript가 생성되어 클라이언트 (브라우저)로 전송됩니다. 그런 다음 브라우저는 HTML을 렌더링하고 javascript를 실행합니다. 희망이 당신의 사고 과정을 도와줍니다. 드미트리.

${remoteFunction(action:'voidTransaction', params:'\'id=\'+moneyTransId')}; 

이 방법, 당신은 클라이언트 측 코드와 서버 측 코드를 혼합하지 않습니다

+0

감사합니다. DmitryB. 필자는 remoteFunction이 moneyTransId를 moneyTransId와 혼자두고 떠나길 원한다는 것을 기억하십시오 .TransId는 경고창에 홀로 남겨 둡니다. 그렇게하면 confirmVoid 함수가 실행될 때 moneyTransId의 값을 remoteFunction이 확장되는 범위 내에서 설정할 수 있습니다. 말이 돼? – Ray

+0

나는 이해하지만 당신은 자바 스크립트 ID에서 remoteFunction에 moneyTransitId를 설정할 수 없다고 생각합니다. 그것은 문자열 리터럴이어야합니다 : try 'moneyTransId' – dbrin

+0

Yah, 나는, 그리고 내가 생각할 수있는 몇 가지 다른 유사 콘텐츠를했습니다. 주사위가 없다. 왜 변수가 자바 스크립트 함수에 "통과"할 수 없습니까? – Ray

관련 문제