Я работаю над проектом со скриптами Google Apps, который использует сервис scriptProperties для сохранения текста, введенного пользователем, и печати того, что было введено последним, когда программа открывается позже. Проблема, с которой я сталкиваюсь, заключается в том, что она печатает только последнее сохраненное значение, а остальные распечатываются не так, как ожидалось. ТОЛЬКО последнее сохраненное свойство.
Вот то, с чем я работаю.
Это документ HTML.
<html>
<head>
<base target="_top">
<script>
var inputs = {};
<? var data = sendData(); ?>
function captureInputs() {
google.script.run.storeData(inputs);
}
function title() {
var inputTitle = document.getElementById("metaTitle").value;
inputs.title = inputTitle;
}
function url() {
var inputUrl = document.getElementById("url").value;
inputs.url = inputUrl;
}
function desc() {
var inputDesc = document.getElementById("metaDescription").value;
inputs.desc = inputDesc;
}
</script>
</head>
<body>
<? if (data.title !== "undefined") { ?>
<input value="<?= data.title ?>" type="text" oninput="title();captureInputs();>
<? } else { ?>
<input value="" type="text" oninput="title();captureInputs();>
<? } ?>
<? if (data.url !== "undefined") { ?>
<input value="<?= data.url ?>" type="text" oninput="url();captureInputs();>
<? } else { ?>
<input value="" type="text" oninput="url();captureInputs();>
<? } ?>
<? if (data.desc !== "undefined") { ?>
<input value="<?= data.desc ?>" type="text" oninput="desc();captureInputs();>
<? } else { ?>
<input value="" type="text" oninput="desc();captureInputs();>
<? } ?>
</body>
</html>
И вот что у меня есть в файле JS.
function sendData() {
var data = PropertiesService.getScriptProperties().getProperties();
return data;
}
function storeData(inputs) {
var scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('title', inputs.title);
scriptProperties.setProperty('url', inputs.url);
scriptProperties.setProperty('desc', inputs.desc);
}
Так, например, если я сохраню что-то в data.title, data.des c будет отображаться как неопределенный (это также иногда отображается пустым), хотя у меня есть свойство, сохраненное там. Если я переписываю data.des c, то data.title будет отображаться как пустой.
Есть идеи, почему это может происходить?
PS. Это, очевидно, не полная программа, но я сократил ее до места, где я сталкиваюсь с проблемами.