doGet(e)にパラメータとして特定のスプレッドシートのIDを渡し
⇒doGetからコメント入力用シート(HTML)を表示させる⇒doPost(e)で先のIDとコメントをパラメータで受け取って処理⇒HTMLで完了表示
をさせたいのですが、最後の「HTMLで完了表示」部分で「script.google.com で接続が拒否されました。」となり、表示がさせられません。
[対象のプロジェクトのWEBアドレス?ssid=+スプレッドシートID]で以下のdoGetを実行
GAS
1function doGet(e){ 2 var ID = e.parameter.ssid; 3 var html = HtmlService.createHtmlOutputFromFile("コメント入力シート"); 4 var content = html.getContent().replace(/%ID%/, ID ); 5 return HtmlService.createHtmlOutput(content); 6}
「コメント入力シート」
html
1<!DOCTYPE html> 2<html> 3 <body> 4 <form method="post" action="対象のプロジェクトのWEBアドレス"> 5 <div> 6 <label for="msg">コメント入力BOX</label> 7 <textarea id="msg" name="coment"></textarea> 8 <input type="hidden" name="id" value=%ID%> 9 </div> 10 <div class="button"> 11 <button type="submit">送信する</button> 12 </div> 13 </form> 14 </body> 15</html>
GAS
1function doPost(e) { 2 var coment = e.parameter.coment; 3 var ID = e.parameter.id; 4 input(coment,ID); 5 return HtmlService.createTemplateFromFile("完了表示").evaluate(); 6} 7function input(coment,ID){ 8 var ss = SpreadsheetApp.openById(ID); 9 var S1 = ss.getSheetByName('回覧情報'); 10 S1.getRange(1,1).setValue(coment); 11}
「完了表示」
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <base target="_top"> 5 </head> 6 <body> 7 <h1><font color="#ff0000">実行完了</font></h1> 8 <br> 9 テキストの入力を完了しました。<br> 10 </body> 11</html> 12
回答1件
あなたの回答
tips
プレビュー