提交表单时从布尔值中删除引号

时间:2018-11-22 12:10:36

标签: javascript node.js forms express boolean

我有一个简单的表格。

它过帐到服务器(节点js / express),并具有一个复选框,当选中时,该复选框的值为“ true”。

<form id="demo_form" action="/submit_demo" method="POST">
  <input type="checkbox" id="demo_input" name="demo_input" value=true />
</form>

当我在服务器上收到数据时,我的值用引号引起来-例如。 “ true ”。

这会导致在向我的api提交数据时出现问题,该api严格接受布尔值作为 true (无引号)。

在提交给我的api之前,我可以轻松地从任何数据中手动删除引号,但是在处理很多字段时会有些痛苦。

是否有一种简单的解决方案,可以将表单中的布尔值发送给服务器而不将其作为字符串?

非常感谢任何输入:)

1 个答案:

答案 0 :(得分:0)

如果表单已过帐且您未选中复选框,则该表单将不包含在有效负载中。因此,在服务器端,应该很容易确定是否已检查某些内容。

请参阅以下代码库以供参考:https://codepen.io/anon/pen/KrowNJ

<form method="POST">
  <div>
    <input type="text" name="message" placeholder="Enter your message...">
  </div>
  <div>
    <input type="checkbox" id="subscribeNews" name="subscribe">
    <label for="subscribeNews">Subscribe to newsletter?</label>
  </div>
  <div>
    <button type="submit">Subscribe</button>
  </div>
</form>

希望这会有所帮助!