{#loop}
<form action="/pay" method="post">
<input placeholder="Name" id="Person" type="text" class="validate" name="Person">
<label for="Person">Person</label>
<input placeholder="Ex: 20" id="Amount" type="text" class="validate" name="amount">
<label for="Amount">Amount</label>
<input class="btn waves-effect waves-light right" type="submit" id="submit-form" tabindex="0" value="add" />
</form>
{/loop}
路线边码
.post("/pay", (req, res) => {
pay(req.body.amount, req.body.Person)})
我使用Hogan Templating生成了两种形式。但是,当我填写两个表格并通过单击提交按钮提交其中一个表格。我提交的其他表单会丢失数据。我如何避免这种情况,所以我不再打字并提交?
答案 0 :(得分:0)
这与霍根模板无关;问题是,当您单击任何HTML表单上的提交按钮时,默认情况下将重新加载整个页面。好吧,更具体地说,POST操作将POST到相关地址(在您的情况下/ pay),这通常会导致请求/响应周期导致浏览器刷新它所呈现的内容。
如果您确实需要在页面上使用多个表单,那么您有几个选项可以解决这个问题,但是今天最常见的一种方法是使用Javascript通过XmlHttpRequest或Fetch api向服务器发出请求(取决于您要定位的浏览器,是否要使用polyfill等)。