我有一个简单的表格。
它过帐到服务器(节点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之前,我可以轻松地从任何数据中手动删除引号,但是在处理很多字段时会有些痛苦。
是否有一种简单的解决方案,可以将表单中的布尔值发送给服务器而不将其作为字符串?
非常感谢任何输入:)
答案 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>
希望这会有所帮助!