【问题标题】:Radio buttons always returning value of false to MySQL Database, regardless of specified value?无论指定值如何,单选按钮总是向 MySQL 数据库返回 false 值?
【发布时间】: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


【解决方案1】:

我找到了解决方案!所以 author1Corresponding 有一种布尔类型(在 ArticleSubmission 模型中定义),因为该值只能是真或假。

与其将值设置为“yes”和“no”,不如将它们设置为“true”和“false”。完成此操作后,如果单击“是”,则将它们作为 1 传递到数据库,如果单击“否”,则将它们传递给 0。

我认为这与 Waterline 如何处理布尔值有关。

【讨论】:

  • 不知道为什么这个答案被标记了。如果人们离开 cmets 就好了。
猜你喜欢
  • 2021-03-04
  • 2020-01-12
  • 2014-01-25
  • 2012-07-14
  • 2019-03-24
  • 2016-03-07
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多