为什么我的 Netlify html 表单可以工作,但不能重定向到确认页面?
Why does my Netlify html form work, but not redirect to a confirmation page?
我正在使用 Netlify 部署基于 Hugo 的网站。我想包含一个使用 Netlify 表单支持的表单 (docs)。
我的表单如下所示:
<form id="contact-form" name="contact-form" data-netlify="true" method="post" role="form" action="{{ .URL }}formsuccess">
<div class="form-group">
<input type="text" placeholder="Name" class="form-control" name="name" id="name" required>
</div>
<div class="form-group">
<input type="email" placeholder="Email" class="form-control" name="email" id="email" required>
</div>
<div class="form-group">
<input type="text" placeholder="Subject" class="form-control" name="subject" id="subject">
</div>
<div class="form-group">
<textarea rows="6" placeholder="Message" class="form-control" name="message" id="message" required></textarea>
</div>
<div id="cf-submit">
<button type="submit" id="contact-submit" class="btn btn-transparent">Submit</button>
</div>
</form>
现在,此表单确实有效。但是 Netlify 说你可以指定 action 属性来为提交按钮创建一个 link。这是我无法开始工作的部分:我停留在表单页面,可以无限点击提交(一次又一次地提交表单)。
- 我在一个简单的锚点中输入了我的动作属性的路径,它确实有效。
- 我也尝试过不使用 action 属性。根据文档,这应该 link 到通用确认页面,但这对我也不起作用。
如何在提交后将我的用户重定向到确认页面?
The path must be relative to the site root, starting with a /
.
确保静态站点生成器中的代码解析为上述规则。
action="{{ .URL }}formsuccess"
需要看起来类似于:
action="/path/to/formsuccess"
在 Netlify 支持团队的帮助下,我解决了问题。
动作路径必须是实际路径。就我而言,它需要位于站点的 public 目录中。我试图让它与带后缀的 URL 一起工作(示例。com/en/pathname)或部分 html (就像许多 Hugo 模板使用的那样)。这是不可能的。
当你输入一个动作路径后,你就不能再使用Netlify的默认路径了,因为:
(Netlify's) "system stores your action path in our database and will
continue to use it until you override it with another action path."
我正在使用 Netlify 部署基于 Hugo 的网站。我想包含一个使用 Netlify 表单支持的表单 (docs)。
我的表单如下所示:
<form id="contact-form" name="contact-form" data-netlify="true" method="post" role="form" action="{{ .URL }}formsuccess">
<div class="form-group">
<input type="text" placeholder="Name" class="form-control" name="name" id="name" required>
</div>
<div class="form-group">
<input type="email" placeholder="Email" class="form-control" name="email" id="email" required>
</div>
<div class="form-group">
<input type="text" placeholder="Subject" class="form-control" name="subject" id="subject">
</div>
<div class="form-group">
<textarea rows="6" placeholder="Message" class="form-control" name="message" id="message" required></textarea>
</div>
<div id="cf-submit">
<button type="submit" id="contact-submit" class="btn btn-transparent">Submit</button>
</div>
</form>
现在,此表单确实有效。但是 Netlify 说你可以指定 action 属性来为提交按钮创建一个 link。这是我无法开始工作的部分:我停留在表单页面,可以无限点击提交(一次又一次地提交表单)。
- 我在一个简单的锚点中输入了我的动作属性的路径,它确实有效。
- 我也尝试过不使用 action 属性。根据文档,这应该 link 到通用确认页面,但这对我也不起作用。
如何在提交后将我的用户重定向到确认页面?
The path must be relative to the site root, starting with a
/
.
确保静态站点生成器中的代码解析为上述规则。
action="{{ .URL }}formsuccess"
需要看起来类似于:
action="/path/to/formsuccess"
在 Netlify 支持团队的帮助下,我解决了问题。
动作路径必须是实际路径。就我而言,它需要位于站点的 public 目录中。我试图让它与带后缀的 URL 一起工作(示例。com/en/pathname)或部分 html (就像许多 Hugo 模板使用的那样)。这是不可能的。
当你输入一个动作路径后,你就不能再使用Netlify的默认路径了,因为:
(Netlify's) "system stores your action path in our database and will continue to use it until you override it with another action path."