Опубликуйте несколько вариантов флажков в списке запятых в Google Sheets - PullRequest
0 голосов
/ 08 февраля 2020

Я использую скрипт для ввода данных из формы HTML в Google Sheet. Есть ли способ, которым я могу изменить это (или добавить что-то еще), чтобы поля моего флажка были введены в мой Лист Google в виде списка, разделенного запятыми?

Итак, с помощью приведенной ниже формы я бы хотел ячейка для «времени» в Google Sheets, чтобы перечислить 9 утра 10 утра, 11 утра, если были отмечены все поля. В данный момент отображается только значение первого установленного флажка.

Пример формы:

<form>
<input type="checkbox" name="time" value="9am">
<label for="time">9:00am</label><br>
<input type="checkbox" name="time" value="10am">
<label for="time">10:00am</label><br>
<input type="checkbox" name="time" value="11am">
<label for="time">11:00am</label><br>
<button type="submit">Submit times</button>
</form>

Сценарий (из https://github.com/jamiewilson/form-to-google-sheets):

<script>
  const scriptURL = 'https://script.google.com/macros/s/XXXX/exec'
  const form = document.forms['submit-to-google-sheet']

  form.addEventListener('submit', e => {
    e.preventDefault()
    fetch(scriptURL, { method: 'POST', body: new FormData(form)})
      .then(response => console.log('Success!', response))
      .catch(error => console.error('Error!', error.message))
  })
</script>

1 Ответ

0 голосов
/ 08 февраля 2020
  • Вы хотите поместить значения флажков в электронную таблицу как 9am,10am,11am.
  • В вашей текущей ситуации ставится только значение первого флажка.
  • Вы используете скрипт Google Apps https://github.com/jamiewilson/form-to-google-sheets#2 -create-a-google-apps-script .
  • В вашей электронной таблице строки заголовков timestamp и time помещаются в 1-й строке таблицы, в которую вы хотите поместить значения.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Точки модификации:

  • В вашем HTML то же имя используется для флажка. Это time. В этом случае вы можете получить значения с помощью e.parameters["time"] на стороне Google.

Модифицированный скрипт:

Пожалуйста, измените ваш скрипт Google Apps следующим образом.

С:
return header === 'timestamp' ? new Date() : e.parameter[header]
Кому:
return header === 'timestamp' ? new Date() : (header == "time" ? e.parameters[header].join(",") : e.parameter[header]);
  • В этом случае, если time не существует в строке заголовка, значения не помещаются. Пожалуйста, будьте осторожны.

Примечание:

  • Когда вы изменили сценарий веб-приложений, пожалуйста, повторно разверните веб-приложения как новую версию. Таким образом, последний скрипт отражается на веб-приложениях. Пожалуйста, будьте осторожны.

Ссылка:

К сожалению, я не вижу ваши текущие скрипты и таблицы Google Apps. Так что, если вышеуказанная модификация не решила вашу проблему, я прошу прощения. В то время, чтобы правильно понять вашу ситуацию, можете ли вы предоставить образец электронной таблицы, включая весь сценарий? По этому я бы хотел это проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...