如何在Javascript中添加单选按钮的值

如何在Javascript中添加单选按钮的值,javascript,html,button,radio,Javascript,Html,Button,Radio,我是一个新手程序员,我一辈子都不知道如何为下面的单选按钮添加值-任何帮助都将不胜感激 我正在尝试创建一个糖尿病筛查评估工具——在这个工具中,你将能够为不同的风险因素分配不同的值 您需要使用JavaScript来实现这一点 这里有一种方法: 收听表单的submit事件 阻止默认设置(以便表单不会被发送到服务器) 从每个字段中获取值。字段使用HTML中的name属性 对每个字段使用parseInt,因为它们将是字符串 把它们加起来 显示结果(在本例中,在控制台中) const form=doc

我是一个新手程序员,我一辈子都不知道如何为下面的单选按钮添加值-任何帮助都将不胜感激


我正在尝试创建一个糖尿病筛查评估工具——在这个工具中,你将能够为不同的风险因素分配不同的值

您需要使用JavaScript来实现这一点

这里有一种方法:

  • 收听表单的
    submit
    事件
  • 阻止默认设置(以便表单不会被发送到服务器)
  • 从每个字段中获取值。字段使用HTML中的
    name
    属性
  • 对每个字段使用
    parseInt
    ,因为它们将是字符串
  • 把它们加起来
  • 显示结果(在本例中,在控制台中)
const form=document.querySelector('form')
form.addEventListener('submit',event=>{
event.preventDefault()
常量总计=
parseInt(form.age.value)+
parseInt(form.bmi.value)+
parseInt(form.famhistory.value)+
parseInt(form.diet.value)
console.log(总计)
})

Zedland卫生局的糖尿病健康评估工具
Zedland卫生局的糖尿病健康评估工具
你多大了?
1-25
26-40
40-60
60+
你的体重指数是多少?
0-25
26-30
31-35
35+
你家里有人患有糖尿病吗?
不
祖父母

如果你打算增加价值,这里有一个更灵活的方法

其思想是循环每个相关的输入(那些在ID为
控件的字段集中的输入),而不管其名称如何,这样如果添加更多检查,相同的代码仍然可以工作

创建一个
score
变量,并使用检查的每个输入的值将其递增

小心,BMI检查的值有两次为0

window.addEventListener('DOMContentLoaded',function(){
var form=document.querySelector('form');
表单.addEventListener('submit',函数(事件){
event.preventDefault();
var inputs=document.querySelectorAll(“#控制输入”);
var得分=0;
输入。forEach(函数(输入){
如果(输入。选中){
分数+=parseInt(input.value,10);
}
});
控制台日志(score);
});
});

Zedland卫生局的糖尿病健康评估工具
Zedland卫生局的糖尿病健康评估工具
你多大了?
1-25
26-40
40-60
60+
你的体重指数是多少?
0-25
26-30
31-35
35+
你家里有人患有糖尿病吗?
不
祖父母

与问题无关:您的标签正确地使用了
for
属性,但没有一个
使用了正确的ID!如果
fma.js
文件显示了您当前的工作,请在您的问题中发布代码。@Sidney-当用户选择单选按钮时,我想使用javascript添加相应的选定值。我不太清楚你所说的正确ID是什么意思,你能解释一下吗?非常感谢@Sébastien-我无法让任何JS代码工作并计算值,最初我尝试将函数分配给名称,然后使用getElementById.value尝试计算值,但效果不太好..关于
for
属性和
id
,每个
都应该是一个
属性应该设置为
的ID。这很好,但是我注意到原始HTML中有一个错误:bmi的值为0两次,这导致了错误的结果。当我在这里运行它时,代码可以工作,但不能在括号中运行-这是我用来编码的-知道为什么吗?!非常感谢上述内容。您需要将JavaScript代码放在
标记中,或者放在外部JS文件中。