2012-12-31 55 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, ', ')); 

}