2014-04-13 3 views
0

scriptDB의 각 항목에 새 div 태그를 추가하려면 어떻게해야합니까?scriptDB의 결과를 사용하여 HTML에 추가

HTML의 스크립트 섹션에서 Apps Script 구문을 사용하고 있기 때문에 "while (results.hasNext())"부분에 도달하면 코드가 멈추는 것처럼 보입니다. 간단한 div.innerHTML ...을 사용하여 전체 while 루프를 대체 할 때 스크립트가 작동하도록 할 수 있습니다. 라인

된 index.html 파일은 다음과 같습니다 :

<form id="myForm"> 
    <p>Name of Alert: <input name="alertName" type="text" /></p> 

    <select name="frequency"> 
    <option value="everyDay">Every day</option> 
    <option value="everyWeek">Every week</option> 
    </select> 

    <input type="button" value="Submit" 
     onclick="google.script.run 
     .withSuccessHandler(updateAlertList) 
     .processForm(this.parentNode)" /> 
</form> 

<script> 
function updateAlertList(results) { 

var div = document.getElementById('output'); 
    while (results.hasNext()) { 
     var result = results.next(); 
     div.innerHTML = '<a href="http://www.google.com">' + result.alertName + '</a>'; 
    } 
} 
</script> 

Code.gs 파일이이 있습니다

function processForm(formObject) { 

    var formAlertName = formObject.alertName; 
    var formFrequency = formObject.frequency; 

    var db = ScriptDb.getMyDb(); 
    var alert = { 
    alertName: formAlertName, 
    frequency: formFrequency 
    }; 
    var record = db.save(alert); 

    var results = db.query({}); 

    return results; 
} 

업데이트 : code.gs

이를 추가 할 때 일
var arrayResults = []; 

while (results.hasNext()) { 
    arrayResults.push(results.next()); 
} 

return arrayResults; 

이는 index.html을 할

for (var i=0;i<results.length;i++) 
{ 
alert(results[i].alertName); 
div.innerHTML = '<a href="http://www.google.com">' + results[i].alertName + '</a>'; 
} 

답변

0

gs에서 결과 (반복자)를 처리하고 자바 스크립트에서 처리 할 결과 배열을 만들어야합니다.

관련 문제