我正在基于Hugo的网站上工作,该网站正在与Netlify一起部署。我想包括一个使用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属性来创建“提交”按钮的链接。这是我无法工作的部分:我停留在表单页面上,可以单击无限提交(一次又一次提交表单)。
提交后如何将我的用户重定向到确认页面?
答案 0 :(得分:0)
该路径必须相对于站点根,以
/
开头。
确保静态网站生成器中的代码符合上述规则。
action="{{ .URL }}formsuccess"
需要看起来类似于:
action="/path/to/formsuccess"
答案 1 :(得分:0)
在Netlify的支持团队的帮助下,我找出了问题所在。
动作路径必须是实际路径。就我而言,它必须位于网站的公共目录中。我试图使其与带有后缀(example.com/en/pathname)的URL或与部分html(如许多Hugo模板使用)一起使用。这是不可能的。
放置动作路径后,将无法再使用Netlify的默认路径,因为:
(Netlify's)系统将您的操作路径存储在我们的数据库中,并且 继续使用它,直到用其他操作路径覆盖它为止。”
我还指出,该表格必须与
一起提交<input type="submit">
使用<button type="submit"></button>
无效。