2012-12-31 31 views
3

我从表单获取数据并在Google文档中编写。它具有诸如姓名,年龄,地址等字段。地址是段落文本的类型。我的问题是,在通过提交触发器脚本在Google Doc中写入数据时,如何在填写表单的人员输入地址时删除手动换行符。即我希望地址是一个连续的字符串,而没有填写表格的人在输入他的地址时可能会出现的中断。如何删除手动换行

确定这里有更多的细节..我的表单中的地址字段被称为'地址',我有一个onformsubmit触发的脚本,读取表单中的人输入的所有数据并放入一个谷歌文档应用程序。 我读的形式输入的值:

for(var field in e.namedValues) { 
    message += field + ' :: ' + e.namedValues[field].toString().replace("\n",", ") + "\n"; 
} 

但在我的谷歌文档,对于地址SRE的价值线条仍然打破地方填写表格的人打破了线。我想消除这些换行符,并用逗号代替它,因此地址是连续的。

回答

1

采取具有不同于段落中的文本字符串,并使其通过string.Replace("\n", "");如果不工作,那么你就需要提供更多的细节删除换行符。与替换函数的行的

+0

yumaikas,我已经编辑我原来的职位提供更多细节这个时候.. – user1327454

+0

@ user1327454您在结尾处添加了“\ n”的权利该行在调用remove之后。这可能是问题的一部分,但可能不是。另一个想法是地址字段可能使用html,在这种情况下,您需要替换“
”或“
”或两者。你可以通过'logger.log()'发布一些虚拟数据来记录'e.namValues [field] .toString()'的内容吗? [文档](https://developers.google.com/apps-script/class_logger) – yumaikas

+0

yumaikas,我使用“\ n”将每个字段拆分为一个新行。如果我不使用“\ n”,数值会持续。另外,我放了一些数据并通过Logger.log查看。日志文件就是我在表单中输入地址的方式。我没有看到任何HTML标签。 – user1327454

3

更改部分

e.namedValues [字段]的ToString()代替(/(\ r \ N |。\ n | \ R)/克, “” );

它的工作原理!

0

你也可以使用范围类的工作:

function editRow(r){ 

    var sheet = SpreadsheetApp.getActiveSheet(); 

    var relevantRange = sheet.getRange(r, 21, 1, 1); 

    artefactRange.setValue(relevantRange.getValue().replace(/(\n)/g, ', ')); 

}