输入值为';如果读取不正确,则显示为未定义的JavaScript
我正在创建一个网站,其中JavaScript正在读取表单的输入,但当我执行警报时,它表示输入值未定义。为什么呢 这是我的表格:输入值为';如果读取不正确,则显示为未定义的JavaScript,javascript,html,forms,Javascript,Html,Forms,我正在创建一个网站,其中JavaScript正在读取表单的输入,但当我执行警报时,它表示输入值未定义。为什么呢 这是我的表格: <form action="" method="post" id="reportform"> <input type="radio" name="report" value="customer"><p>Customers</p> <input type=
<form action="" method="post" id="reportform">
<input type="radio" name="report" value="customer"><p>Customers</p>
<input type="radio" name="report" value="item"><p>Items Sold</p>
<input type="radio" name="report" value="department"><p>Sales Departments</p>
<input type="radio" name="report" value="person"><p>Sales People</p>
<input type="button" name="reportsubmit" value="Submit" onClick="readText(this.form)">
</form>
顾客
出售物品
销售部门
销售人员
以下是我的JavaScript:
<script>
function readText (form) {
var radio = form.report.value;
alert("You entered: " + radio);
}
</script>
函数readText(表单){
var radio=form.report.value;
警报(“您输入:“+收音机”);
}
您的代码对我来说很好:
确保js代码在表单前面
function readText (form) {
var radio = form.report.value;
alert("You entered: " + radio);
}
您可以从选中的复选框中读取值,如下所示:
function readText(form) {
var checked = form.querySelector('input:checked');
var value = checked ? checked.value : null;
// do something with `value`
}
element.querySelector()
适用于IE8+。:checked
是CSS3的东西,我想,所以可能是IE9+
您必须检查
checked
属性,以测试选中了哪个单选按钮:
function readText (form) {
var radios = form.report;
for(var i = 0; i < radios.length; i++){
if(radios[i].checked){
rate_value = radios[i].value;
alert("You entered: " + rate_value)
}
}
}
函数readText(表单){
var无线电=form.report;
对于(变量i=0;i
或者,如果您使用jQuery,您可以简单地使用:
$('#reportform input[name=“report”]:checked').val()代码>您无法通过这种方式获取当前选中的单选按钮值。您必须在列表中找到选中的一个(这就是form.report.value
的值)。Chrome为NodeList界面添加了一个非标准扩展。我不知道如何/何时设置Chrome节点列表的“value”属性的详细信息。Firefox没有做到这一点。