【问题标题】:How to pass a date from a static site form to a Google Form?如何将日期从静态网站表单传递到 Google 表单?
【发布时间】:2020-10-15 09:18:53
【问题描述】:

我在一个 HTML 网站上有一个简单的表单。该表单与 Google Form 集成,然后与 Google Sheets 集成。为您提供更多详细信息:当用户在我的网站上提交表单时,数据将被传递以填写 Google 表单,然后保存在 Google 电子表格中。

我遇到的问题是传递日期字段。我应该如何将日期字段传递给 Google 表单? 使用文本字段没有问题,因为我使用例如 name="entry.77808571" 匹配它们 但, 对于某个日期,Google 表单包含三个条目,例如: name="entry.1307321649_year" name="entry.1307321649_month" name="entry.1307321649_day"

所以一个输入字段有 3 个“名称”属性。

我提供了我的表单代码,所以希望你能明白我上面的意思:

<form  action="https://docs.google.com/forms/u/0/d/e/1FAIpQLSfglf8uoaPBwXQNZb44C3qyDfxV7mv4wIlSTamUfHwolsJ0Lg/formResponse">
                 
          <div class="control-group">
            <div class="form-group floating-label-form-group controls">
              <label class="control-label" for="date">Date</label>
              <input type="text" class="form-control datepicker" name="entry.1307321649" placeholder="Zameldowanie" id="date" required data-validation-required-message="Please enter dates." autocomplete="off">
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <div class="control-group">
            <div class="form-group floating-label-form-group controls">
              <label class="control-label" for="date">Date</label>
              <input type="text" class="form-control datepicker" name="entry.77808571" placeholder="Wymeldowanie" id="date" required data-validation-required-message="Please enter dates." autocomplete="off">
              <p class="help-block text-danger"></p>
            </div>
          </div>  
          <div class="control-group">
            <div class="form-group floating-label-form-group controls">
              <label>Name</label>
              <input type="text" class="form-control" placeholder="Imię i Nazwisko" id="name" name="entry.191476008" required data-validation-required-message="Please enter your name.">
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <div class="control-group">
            <div class="form-group floating-label-form-group controls">
              <label>Email Address</label>
              <input type="email" class="form-control" placeholder="Adres Email" id="email" name="entry.1612291661" required data-validation-required-message="Please enter your email address.">
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <div class="control-group">
            <div class="form-group col-xs-12 floating-label-form-group controls">
              <label>Phone Number</label>
              <input type="number" class="form-control" placeholder="Numer Telefonu" id="phone" name="entry.199915649" required data-validation-required-message="Please enter your phone number.">
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <div class="control-group">
            <div class="form-group floating-label-form-group controls">
              <label>Message</label>
              <textarea rows="5" class="form-control" placeholder="Wiadomość" id="message" name="entry.948216718" data-validation-required-message="Please enter a message."></textarea>
              <p class="help-block text-danger"></p>
            </div>
          </div>
          <br>
          <div id="success"></div>
          <button type="submit" class="btn btn-primary" id="sendMessage">Rezerwuj</button>
        </form>

到目前为止,我使用了一种解决方法并将日期作为文本传递。但后来我在将它与 Google 日历集成时遇到了问题(数据从 Google 表格转到日历),因为我需要一个日期而不是文本。

如果您有任何问题,请大声疾呼并寻求您的帮助。 非常感谢! 贾斯蒂娜

【问题讨论】:

  • 提交数据后,您如何尝试将其集成到日历中?
  • 与日历的集成来自使用插件的工作表。这不是重点。我的问题是如何将日期格式传递到 Google 表单中。完成后,其他一切都会正常工作:)

标签: forms date google-sheets integration google-forms


【解决方案1】:

您可以传递一个将被正确调整的日期,如下所示:

只需传递完整的日期即可,无需拆分为年、月和日 - 就像您现在所做的那样。所以:

<div class="form-group floating-label-form-group controls">
  <label class="control-label" for="date">Date</label>
  <input type="text" class="form-control datepicker" name="entry.1307321649" placeholder="Zameldowanie" id="date" required data-validation-required-message="Please enter dates." autocomplete="off">
</div>

填写您的自定义 HTML 表单时,将完整日期粘贴到相应的输入字段中,格式为 2020-10-15

在这种格式中,您的日期将在目标电子表格中被正确识别为日期对象。

顺便说一句,如果您为您的 Google 表单创建一个预填 URL,它将看起来例如如下: https://docs.google.com/forms/d/e/XXX/viewform?entry.1141768477=Option+1&amp;entry.1199891753=mail@mail.com&amp;entry.1037962790=2020-10-20&amp;entry.2138552921=Option+1

这使您可以查看日期、多项选择等的正确格式。

【讨论】:

  • 这不起作用,因为在 excel 中它不被视为日期对象而是文本。像这样“'16-10-2020”,表格在日期前添加“'”。这可能是因为在 Google 表单中,为了通过完整的条目,我必须输入文本而不是日期。如果我将 Google 表单输入更改为日期,则在提交表单时会出错。
  • 我自己测试了它,它对我有用。也许这取决于您的 Google 表格的国家/地区设置? (语言环境)?我假设我们都在谈论 Google 表格,而不是 Excel?
  • 您在 Google 表单中将日期字段设置为日期还是文本?
  • 你是对的。如果我将日期格式更改为 yyyy-mm-dd 它可以工作。问题是在我的国家,我们使用的日期格式是 dd-mm-yyyy。您知道如何强制 Google 表单接受本地日期格式吗?
  • 好的,无论如何感谢您的帮助,非常感谢。至少我让它工作了。格式问题目前还没有解决,我稍后可能会解决。干杯! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
相关资源
最近更新 更多