【发布时间】:2020-11-24 23:23:46
【问题描述】:
单选按钮不断返回未定义。我查了一下,尝试了其他类似问题的答案,但是当我将值添加到表格时,我只是不确定。
这是我从按钮获取值的 javascript 代码。
var grade="";
var grades = document.getElementsByName('grade');
for(var i=0;i<grades.length;i++)
{
if(grades[i].checked)
grade = grades[i].value;
}
这是我的html代码
<div><label>Grade</label>
<label><input type="radio" value="5" name="grade">5</label>
<label><input type="radio" value="6" name="grade">6</label>
<label><input type="radio" value="7" name="grade">7</label>
<label><input type="radio" value="8" name="grade">8</label>
<label><input type="radio" value="9" name="grade">9</label>
<label><input type="radio" value="10" name="grade">10</label></div>
我从一个带有单选按钮的类似页面复制了这段代码,该代码按预期工作。我所做的只是更改名称和值。
编辑: 这是添加包含所有输入信息的新行的代码
var tbody = document.getElementsByTagName("tbody")[0]
tbody.innerHTML += "<tr><td>" + name.value + "</td>" + "<td>" + index.value + "</td>" + "<td>" + phone.value + "" +
"</td>" + "<td>" + grade.value + "</td>" + "<td>" + session.value + "</td>"
name.value = ""
index.value = ""
phone.value = ""
grade.value = ""
}
【问题讨论】:
-
是什么触发了你的 javascript 代码?
-
一个按钮触发功能
-
jsfiddle.net/zgtbh2cs 您的代码运行良好。请提供一个能重现您的问题的 sn-p。
-
如果你设置了
grade = grades[i].value,那么grade.value就相当于grades[i].value.value。只需在表格中打印grade。 -
填写表格时使用
grade.value,但在执行grade = grades[i].value;时仅将 tekst 存储到变量中。因此,值属性将不存在于等级变量中。只需改用grade。
标签: javascript button