2012-06-14 1 views
1

스크립트에 게시 된 서비스가 있습니다.이 서비스는 전자 메일로 전달됩니다. 활성 계정이 서비스를 호출하면 추가 처리를 위해 UiApp이 열립니다. 나는 doGet()을 사용하여 그렇게한다. UiApp의 처리가 완료되면 UiApp 양식을 통해 변경된 내용을 처리해야하는 서버 클릭 핸들러에 링크 된 제출 버튼이 있습니다. 나는이 UiApp을 사용하여 변경하고자하는 스프레드 시트의 값을 변경할 수 있어요 동안, 나는 아직도 내가 제출 버튼을 클릭에 발생하는 두 가지 문제가 있습니다게시 된 서비스로 호출 된 후 UiApp을 닫을 수 없습니다.

  1. UI를 앱은 눌러에 근접하지 않는 제출 버튼
  2. 브라우저 msgBox를 호출하여 프로세스 완료 확인 메시지를 보낼 수 없습니다.

나는 폐쇄 및 응용 프로그램을 반환에 UiApp이 닫히지하도록되어 있음을 많이 읽고,하지만 일이되지 않고 그게 반군 serverClickHandler이없는 경우에만 발생하기 때문이다 가정입니다. 내가 틀렸을 수도있다.

제 1 호를 해결하고 제 2 호를 해결하는 데 도움을 줄 수 있습니까? 내 doGet 및 clickHandler 함수의 관련 버전이 아래에 첨부되어 있습니다.

function doGet(e) //On invoking service in the mail. 
{ 
    //Adding all other elements of the UiApp here 
    /* … 
    … All other elements of the UiApp 
    … 
*/ 
    //Adding Submit button to the UiApp 
    var button = app.createButton('Submit'); 
    var handler = app.createServerClickHandler('click').addCallbackElement(panel); 
    button.addClickHandler(handler); 
    panel.add(button); 
    app.add(panel); 
    return app; 
} 

function click(eventInfo) { 
    var app = UiApp.getActiveApplication(); 
//Processing the actions that have to be performed on hitting the submit button 
/* … 
    … Processing the actions that have to be performed on hitting the submit button 
    … 
*/ 
    app.close(); 
    return app; 
} 

답변

2

Browser.messageBox 당신이 과정의 끝에 그것을 볼 수있게 될 때까지 보이지 않는 라벨을 사용한다, 출판 UiApps에서 사용할 수 없습니다. 다른 문제는 모두 문제가 아닙니다. UiApp은 브라우저 창을 닫을 방법이 없으므로 UI의 기본 패널을 보이지 않게 할 수 있습니다.

두 수정을 모두 사용하면 양식을 숨기고 '완료 됨, 제출해 주셔서'라는 메시지로 대체 할 수 있습니다.

+0

고마워요! 이것은 의미가 있습니다. –

관련 문제