仅将一些变量从 html 表单发送到电子表格
Send only some variables to spreadsheets from an html form
我发现这种方法可以存储 html [link]Add basic data to a Google Spreadsheet via a simple HTML Form 中的数据,但是这种方法发送数据的顺序不正确。我想按顺序发送数据,只发送一些变量
我有这个 html 文件
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="form" method="get" action="https://script.google.com/macros/s/AKfycbzhVAFaP7tFTbSzgeO0y9rUBl6ptVRCbqpS9wi12yFmoboYjw/exec" accept-charset="UTF-8">
Name and age!
<input type=text name=name id=name>
<input type="text" name="direccion" placeholder="Direccion completa">
<input type=number name=age id=age>
<input type="Apellido" name="Apellido" id="Apellido">
<input type=submit onclick=google.script.run.addProduct()>
</form>
</body>
</html>
我的电子表格中有这个 code.gs
function doGet(e){
var vals=[];
vals.push(new Date());
for(var i in e.parameter){
vals.push(e.parameter[i]);
}
SpreadsheetApp.openById("1KYR7SefLy5P-JP3LqdKsRRd_bkwTHFGFQQ0rnD3JfUM").appendRow(vals);
return ContentService.createTextOutput("Información enviada correctamente");
}
有什么方法可以按顺序发送变量?
当从表单标记中的操作提交表单时,表单元素被提交到 URL。表单元素是一个对象。一个对象会改变元素的顺序。数组保证数据的顺序,对象不保证对象中数据的顺序。
但是,您可以通过键名引用对象中的每个元素,在本例中为 name 属性。
function doGet(e){
var vals=[];
vals.push(new Date());
vals.push(e.parameter.name);
vals.push(e.parameter.direccion);
vals.push(e.parameter.age);
vals.push(e.parameter.Apellido);
Logger.log('vals: ' + vals);
SpreadsheetApp.openById("").appendRow(vals);
//return ContentService.createTextOutput("");
};
保证顺序的唯一方法是在发送数据之前设置顺序,或者在检索数据之后设置顺序。上面的例子设置了数据处理时的顺序
发送一些输入值的唯一方法是在发送之前处理表单。显然,您可以在服务器端省略一些值。如果你打算在表单标签中使用策略和动作,那么你不需要:
onclick=google.script.run.addProduct()
在提交按钮中。
我发现这种方法可以存储 html [link]Add basic data to a Google Spreadsheet via a simple HTML Form 中的数据,但是这种方法发送数据的顺序不正确。我想按顺序发送数据,只发送一些变量 我有这个 html 文件
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
<form id="form" method="get" action="https://script.google.com/macros/s/AKfycbzhVAFaP7tFTbSzgeO0y9rUBl6ptVRCbqpS9wi12yFmoboYjw/exec" accept-charset="UTF-8">
Name and age!
<input type=text name=name id=name>
<input type="text" name="direccion" placeholder="Direccion completa">
<input type=number name=age id=age>
<input type="Apellido" name="Apellido" id="Apellido">
<input type=submit onclick=google.script.run.addProduct()>
</form>
</body>
</html>
我的电子表格中有这个 code.gs
function doGet(e){
var vals=[];
vals.push(new Date());
for(var i in e.parameter){
vals.push(e.parameter[i]);
}
SpreadsheetApp.openById("1KYR7SefLy5P-JP3LqdKsRRd_bkwTHFGFQQ0rnD3JfUM").appendRow(vals);
return ContentService.createTextOutput("Información enviada correctamente");
}
有什么方法可以按顺序发送变量?
当从表单标记中的操作提交表单时,表单元素被提交到 URL。表单元素是一个对象。一个对象会改变元素的顺序。数组保证数据的顺序,对象不保证对象中数据的顺序。
但是,您可以通过键名引用对象中的每个元素,在本例中为 name 属性。
function doGet(e){
var vals=[];
vals.push(new Date());
vals.push(e.parameter.name);
vals.push(e.parameter.direccion);
vals.push(e.parameter.age);
vals.push(e.parameter.Apellido);
Logger.log('vals: ' + vals);
SpreadsheetApp.openById("").appendRow(vals);
//return ContentService.createTextOutput("");
};
保证顺序的唯一方法是在发送数据之前设置顺序,或者在检索数据之后设置顺序。上面的例子设置了数据处理时的顺序
发送一些输入值的唯一方法是在发送之前处理表单。显然,您可以在服务器端省略一些值。如果你打算在表单标签中使用策略和动作,那么你不需要:
onclick=google.script.run.addProduct()
在提交按钮中。