我们有一个webform,这里是如何以这种PHP形式设置无线电代码:
<input type="radio" name="2074" id="2074" value="Yes" class="valuetext" >Yes
<input type="radio" name="2074" id="2074" value="No" class="valuetext" >No
我正在开发一些适用于文本字段的自定义验证代码,但只是遇到了单选按钮,所以我确定这会是复选框的问题
所以这里是验证的代码,
function blank(field) {
if ((field.type == "text" || field.type == "textarea") && (field.value == " " || field.value == ""))
{
return true;
}
else if ((field.type ="radio" || field.type == "checkbox") && (!(field.checked || field.selected || field.selectedIndex > -1)))
{
return true;
}
else {
return false;
}
}
但是当谈到单选按钮时,它只检查它遇到的第一个单选按钮。所以例如,如果我运行验证并且集合中的两个无线电都没有被检查,它会工作,给我我需要的错误信息,但这只是因为它检查了第一个按钮,它是空的。
如果我选择“没有”,收音机的第二个选项,它无法正常工作,当它不应该显示错误信息时
如果我选择“是”收音机的第一个选项,它会按预期工作。
如何让JavaScript获取组中的所有无线电,检查该组中是否有任何无线电?
提前谢谢。
收集需要检查的字段的函数: * 此外,这是一个上面的json脚本,它提供了fieldlist的数据 *
var field = [], blankFields = [],
listText = [], listItem = [], fieldId = [], label = [];
function checkRequired(fieldList) {
for (var i = 0; i < fieldList.length; i++)
{
listText = fieldList[i];
listText = listText.substring(1, listText.length - 1);
listItem = listText.split("||");
fieldId = listItem[0];
label = listItem[1];
field = document.getElementById(fieldId);
if (visible(field) && blank(field)){
blankFields.push(label);
}
}
//return blankFields;
if (blankFields.length > 0) {
displayError(blankFields);
}
}
答案 0 :(得分:0)
您可以使用document.getElementsByName("2074")
,然后迭代以查看是否有任何选中。
相关问题: In JavaScript, how can I get all radio buttons in the page with a given name?
答案 1 :(得分:0)
我决定混合一些让生活变得更轻松的jquery:
else if (field.type=="radio")
{
var radiocheck = $('input[type="radio"][name="' + field.name + '"]:checked').size() > 0;
if (radiocheck == false){
return true;