【发布时间】:2014-11-27 11:46:59
【问题描述】:
我正在使用Sails.js 创建一个表单。表单有多个页面,每次用户导航到下一页时,他们为当前页面输入到表单中的数据都会提交到MySQL数据库。
在表单的一页上,有两个单选按钮,一个为“是”,一个为“否”。选中的任何一个按钮的值都会提交到数据库的“author1Corresponding”列。根据我对单选按钮的理解,如果选中一个,则应将指定的值,即“是”或“否”提交到数据库。但是,当检查任意一个时,Author1corression会获取值“假”。如果两个按钮都未选中,则 author1Corresponding 的值为 'null'。
这是我在html 表单中的两个按钮的代码:
<label for="articleSubmission[author1Corresponding]">Is this Author the Corresponding Author?</label><br>
<input type="radio" class="radio" name="articleSubmission[author1Corresponding]" value="Yes"> Yes<br><br>
<input type="radio" class="radio" name="articleSubmission[author1Corresponding]" value="No"> No
radio 类只是用于将两个按钮的样式设置为具有display: inline。
为什么定义的值没有提交到数据库,我该如何解决这个问题?
【问题讨论】:
-
数据到底是如何发送的,用一个常规的形式,如果是,你检查GET或POST数据,看看实际发送到服务器的是什么?
-
同意 adeneo,控制台输出你的参数 console.log(req.allParams()) 并检查你的数据库的值
-
@Meeker 和 adeneo,如果单击第一个按钮,则 console.log(req.allParams()) 时注销的值为“是”,如果单击第二个按钮,则为“否” .查看数据库,无论点击哪个,该值都显示为'0'。
-
我会在问题中包含您的模型定义。
-
为什么要使用单选输入来输入布尔值?这就是复选框的用途。
标签: javascript mysql node.js sails.js waterline