首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用getElementsByName验证单选按钮

使用getElementsByName验证单选按钮
EN

Stack Overflow用户
提问于 2012-09-12 01:29:40
回答 2查看 4.8K关注 0票数 0

我正在尝试验证是否选中了一组单选按钮以验证表单。

代码语言:javascript
复制
function formValidator() {
    var triedIt = document.getElementsByName('tried');
    if(radioChecked(triedIt, "Please select") {
        return true;
    }
    return false;   
}

function radioChecked(elem, helperMsg) {
    if(document.myform.tried.checked == 1) {
        return true;
    }
    else {
        alert(helperMsg);
        elem.focus();
        return false;
    }
}

这将返回警报,但由于某种原因,表单仍会被处理。我在想我做错了什么..。任何帮助都将不胜感激。

如果你想知道为什么我不直接使用jquery等。不幸的是,这不是一个选择。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-12 02:16:11

我认为这是因为document.getElementsByName('tried')返回了元素数组。因此,当您调用elem.focus()时,它将抛出错误(因为数组没有方法焦点),并且js停止执行。

票数 2
EN

Stack Overflow用户

发布于 2012-09-12 01:35:13

代码语言:javascript
复制
function formValidator(){
var triedIt = document.getElementsByName('tried');
if(radioChecked(triedIt, "Please select")){
return true;
}
return false;   
}

function radioChecked(elem, helperMsg){
if(document.myform.tried.checked == 1) {
    return true;
}else{
    alert(helperMsg);
    elem.focus();
    return false;
}
}

试试这个,我想你跳过了一个右括号) in if(radioChecked(triedIt, "Please select"))这就是为什么会这样

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12374938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档