HTML表单和NodeJS的小错误

时间:2019-07-19 07:56:41

标签: html node.js forms

大家好,我现在遇到一个小错误,我有两个HTML表单,并带有nodeJS。而且在NodeJS中使用POST请求,无论如何都只会转到其中之一。 这是代码

<tr class="digitalLink"><td class="label">Input: Uncompressed GS1 Digital Link URI</td><td>

<form id="signUp"class="form-signUp" action="/compression" method="get" >
    <input id="uncompressedDigitalLinkInput" class="digitalLink" type="text" v-model="uncompressedDigitalLinkInput" name="compression"></td>

    <td class="charCount">{{uncompressedDigitalLinkInput.length}}</td>

    <button type="submit" form="signUp" style="margin-top:30px"
    class="btn btn-lg btn-primary btn-block" value="Compressed" >Compressed</button>
</form>

第二种形式:

<tr class="compressedDigitalLink"><td class="label">Input: Compressed GS1 Digital Link URI</td><td>
<form id="signUp"class="form-signUp" action="/decompression" method="post" >

<input id="compressedDigitalLinkInput2" class="compressedDigitalLink" type="text" v-model="compressedDigitalLinkInput2" name="decompression"></td>

<td class="charCount">{{compressedDigitalLinkInput2.length}}</td>

<button type="submit" form="signUp" style="margin-top:30px"
class="btn btn-lg btn-primary btn-block" value="Uncompressed" >Uncompressed</button>

即使我单击第二种形式的按钮,我仍然会收到此错误消息 enter image description here

这里:NodeJS代码

    app.post('/decompression', function(req,resp){ //Post Response
  var decompression = req.body.decompression;
  console.log("Mon deuxieme test" + decompression);
});

非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为您在这里有两个问题。

  • <button type="submit" form="signUp" style="margin-top:30px" class="btn btn-lg btn-primary btn-block" value="Uncompressed" >Uncompressed</button>
    两个提交按钮都指向相同的表单id="signUp",这是第一个表单。每个HTML元素均应具有唯一ID,您需要为表单指定不同的ID,并在“提交”按钮(form="signUp1", form="signUp2")中引用它们。或者最好您可以在“提交”按钮中删除“表单”属性,因为两个提交按钮都在各自的表单中。
  • <form id="signUp"class="form-signUp" action="/decompression" method="post">
    我认为action="/decompression"不是引用Node.js端点的有效方法。在您的本地计算机上,您可能拥有action="http://localhost:8080/decompression",并且端口可能会因您的情况而异。

    希望我的回答对您有帮助。