QA@IT

スプレッドシートにpost後のリダイレクト

3926 PV

現在、googlespredsheetを簡易データベースとして使用し、webサイトのアンケートなどを保存させる仕組みを作っています。

google apps scriptを使って、フォームの入力値をスプレッドシートに反映させることはできたのですが、現状ではscript.google.com/macros~ではじまるurlに移動して、入力結果だけが表示されてしまいます。

そのscriptのページを表示させずに自分のwebサイトのトップページを表示させたいのですが、何か方法はありますでしょうか?

scriptの最後に location.href='自サイトのurl';を書いたりしたのですが、なかなかうまくいきません。

function doPost(e) { 
  var ss = SpreadsheetApp.openById(ScriptProperties.getProperty('active'));
  var sheet = ss.getSheetByName("sheet_name");
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; 
  var nextRow = sheet.getLastRow(); 
  var cell = sheet.getRange('a1');
  var col = 0;
  for (i in headers){ 
    if (headers[i] == "Timestamp"){
      val = new Date();
    } else {
      val = e.parameter[headers[i]]; 
    }
    cell.offset(nextRow, col).setValue(val);
    col++;
  }

  var app = UiApp.createApplication(); 
  var panel = app.createVerticalPanel();
  for( p in e.parameters){
    panel.add(app.createLabel(p +" "+e.parameters[p]));
  }
  app.add(panel);
  retun app;
}

function setUp() {
  ScriptProperties.setProperty('active', SpreadsheetApp.getActiveSpreadsheet().getId());
}
  • すいません。自己解決しました。
    Ajaxというものを失念しておりまして、フォームをAjaxで送信することで解決しました。
    もし、他に良い方法がありましたら、教えていただけると幸いです。
    -

回答

すみません、まったく同じところで躓いているのですが、Ajaxで送信したという詳しいソースコード等共有していただけないでしょうか?

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。