表单未提交至 Google 表格

问题描述 投票:0回答:1

我正在尝试修改Astro网站模板,并且我正在尝试通过谷歌表单+工作表在我的页面上实现一个简单的电子邮件提交表单作为侧边栏中的astro组件。除了表单没有按照指示将用户条目提交到谷歌表单。

奇怪的是,我让它在我的联系表单页面上工作,使用相同的代码,只是从 markdown 文件中提取。但我无法从侧边栏让它发挥作用。该脚本似乎有效,因为它重定向到提交确认页面,但条目数据没有发送到谷歌。

这是我在 email.astro 中的内容

<script is:inline type="text/javascript">var submitted=false;</script>
<iframe name="hidden_iframe" id="hidden_iframe" style="display:none;" 
onload="if(submitted) {window.location='/posts/form-confirmation';}"></iframe>

<div class="rounded-lg bg-[var(--card-bg)]">
<form action="https://docs.google.com/forms/really-long-url/viewform" method="post" target="hidden_iframe" onsubmit="submitted=true;">
      <center><label class="italic font-bold ">Subscribe to get e-mails when I post: </label></center>
      <center><input type="email" placeholder=" [email protected]" name="entry.number" class="mt-3 px-2 w-full " required /></center>
      <center><button type="submit" class="font-bold ">Subscribe</button></center>
</form>
</div>

这是我在 sidebar.astro 中的内容

---

import Email from "./email.astro";

const className = Astro.props.class;
---
<div id="sidebar" class:list={[className, "w-full"]} transition:persist>
    <div class="flex flex-col w-full gap-4 top-4 sticky top-4" transition:animate="none">

        <Email></Email>
        
    </div>
</div>

我尝试将两种表单的脚本移至主站点布局中,但这并没有改变任何东西。不确定这个特定的电子邮件表单有什么问题,特别是因为与有效的联系表单使用了完全相同的代码。

诚然,我对这个模板的使用感到不知所措,所以我感谢任何帮助!

forms astro
1个回答
0
投票

所以这根本不是代码的问题,只是链接的问题。我取消了提交重定向,让它转到默认的谷歌表单确认页面,并收到 405 方法错误。这让我知道 URL 本身就是错误的。我将网址替换为“formResponse”而不是原来的“viewForm”,并且它有效。

菜鸟错误 smh...

© www.soinside.com 2019 - 2024. All rights reserved.