0

간단한 양식을 관리하기 위해 HTMLService를 사용하려고합니다. 이것은 (NATIVE 옵션은 휴대 성이다)는 전형적인 HTML 양식입니다 :GAS : HTMLService 디버깅

form.gs :

function htmlTest(){ 
    var html = HtmlService.createHtmlOutputFromFile('form'); 
    html.setSandboxMode(HtmlService.SandboxMode.NATIVE); 
    SpreadsheetApp.getUi().showModalDialog(html, "Sample Form"); 
} 

function cBack (el1, el2){ 
    Browser.msgBox('Data sent'); 
    Logger.log(el1); 
    Logger.log(el2); 
} 

form.html :

Enter field 1: <input name="name1" id='input1'> 
<br> 
Enter field 2: <input name="name2" id='input2'> 
<br> 
<input type='button' value='Submit' onclick='fParser()'> 

<script> 

function fParser() { 
    var el1=document.getElementById('input1').value; 
    console.log(el1); 
    var el2=document.getElementById('input2').value; 
    console.log(el2); 
    google.script.run.cBack(el1, el2); 
    google.script.host.close(); 
} 
</script>  

가 어떻게 디버깅 할 수

효율적으로 콜백이 제공 HTML에서 트리거?
콜백이 시작되지 않으면 어떻게해야합니까?
가끔 문제를 해결하기 위해 문서를 닫고 다시 여는 것이 문제가되는 경우가 있습니다. 코드를 다시로드하는 더 효율적인 방법이 있습니까?

+0

당신은 브라우저 탭 당신이 새로운 코드를 테스트 할 때마다 새로 고쳐야합니다. 문서를 닫고 다시 열어 새 코드를 텍스트로 입력 할 필요가 없습니다. –

+0

@SandyGood : 이것이 항상 규칙이라고 확신합니까? 또는 그것은 당신의 개인 습관입니까? 모든 실행마다 새로 고쳐야한다면 가장 간단한 스크립트도 제공하면 악몽이들 것입니다. 추신. Sheets Home에서 앞뒤로 돌아 다니면서 닫히고 열리는 것이 전체 새로 고침보다 약간 빠릅니다. – antonio

답변

1

HTML 페이지의 모든 것을 디버깅하는 것이 더 쉬워졌습니다. 변수를 다시 사용하려면 withSuccessHandler을 사용하십시오. 이렇게하면 .gs를 계속 편집 할 수 있고 버튼을 클릭하면 콘솔에 새 결과가 표시됩니다.

예 :

google.script.run.withSuccessHandler(debugging).cBack(el1, el2); 
google.script.run.withSuccessHandler(debugging).anotherCallBacl(el); 

function debbugging(logs){ 
    console.log(logs); 
} 

과 .gs는 :

function cBack (el1, el2){ 
    Browser.msgBox('Data sent'); 
    return "el1 : " + el1 + " - el2: " + el2; 
} 
관련 문제