質問: ss.getSheetByName('回覧情報'); S1.getRange(1,1).setValue(coment); } ``` 「完了表示」 ``` 実行完了 テキストの入力を完了しました。 ```
回答: 再現させてみました。sameoriginじゃないからでしたね (エラーのときは、ブラウザの開発者ツールを開いてください) この問題は、gasを使ってページ表示する限りは回避できないと思うので↓こうすることを提案します ### コード.gs * doPost廃止 * 完了表示.html廃止 * inputがリターンする ``` function doGet(e){ var ID = e.parameter.ssid; var html = HtmlService.createHtmlOutputFromFile("コメント入力シート"); var content = html.getContent().replace(/%ID%/, ID ); return HtmlService.createHtmlOutput(content); } function input(coment,ID){ //リターンを持つ。try catchしてこいつがちゃんと判断する try{ var ss = SpreadsheetApp.openById(ID); var S1 = ss.getSheetByName('回覧情報'); S1.getRange(1,1).setValue(coment); } catch(e) { return "失敗"; } return "完了" } ``` ### コメント入力シート.html * actionなし * divを足す(response)→まあこの辺はお好みで。 * hiddenのやつは、id="id"にする(name="id"じゃなく) * 非同期でサーバスクリプトを実行させる仕組みを使う →成功時のコールバックで、同じページにメッセージを出す ``` コメント入力BOX 送信する ```