目前我正在尝试使用谷歌应用脚本将数据发送/附加到电子表格,但是如果我点击submit
按钮,我希望页面不会重定向为https://www.selly.id/如果您尝试从中发送数据表单,它只更改UI,数据被发送到工作表,
所以我必须使用JS或其他方法来改变它
这是我当前的网站https://selly-midtrans.herokuapp.com/,但它现在正常工作
function doPost(e){
var vals=[];
vals.push(new Date());
for(var i in e.parameter){
vals.push(e.parameter[i]);
}
SpreadsheetApp.openById("1gMjG4MWTLzoPncVkJ_nGimYdiXULzCvYt5nvqCf4Z4o").appendRow(vals);
// return ContentService.createTextOutput("added");
}
function doGet(e){
var vals=[];
vals.push(new Date());
for(var i in e.parameter){
vals.push(e.parameter[i]);
}
SpreadsheetApp.openById("1gMjG4MWTLzoPncVkJ_nGimYdiXULzCvYt5nvqCf4Z4o").appendRow(vals);
return ContentService.createTextOutput("added");
}
这是我的表格
<form id="form" method="post" action="https://script.google.com/a/41studio.com/macros/s/AKfycbwlP_LSQSRHI0wIoJtfwFXiAJttawlYV5dN1PFpAOMtdZ2D-Iz7/exec" accept-charset="UTF-8">
<input type="text" name="newletter_name" placeholder="Name"/>
<input type="text" name="newletter_email" placeholder="Email"/>
<input type="submit" value="Subscribe"/>
</form>
我有点困惑
仅供参考:我使用react JS开发它
答案 0 :(得分:0)
您可以使用Javascript为您执行此操作,而不是从表单发出POST请求,并阻止页面重新加载。
由于您使用的是反应,因此触发器为onSubmit={this.handleSubmit}
然后创建处理提交的方法,如下所示。 YO
handleSubmit = (e) => {
e.preventDefault(); //this prevents the page from reloading
const opts = {
method: 'POST',
body: ... //fix this to whatever parameters you are passing
};
fetch(URL, opts)
.then(response => console.log(response))
.catch(error => console.log(error));
}
的文档
您可以使用axios这样的包来更轻松地处理获取请求。
关于在Google Apps脚本中使用doPost(e)
我做了blog post但是,它没有使用ReactJS,因此可能没有帮助。