我正在尝试验证是否检查了一组单选按钮以验证表单。
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等......遗憾的是它不是一个选择。谢谢!
答案 0 :(得分:2)
我认为这是因为document.getElementsByName('tried')
返回元素数组。因此,当您调用elem.focus()
时,它将抛出错误(因为数组没有方法焦点)并且js
会停止执行。
答案 1 :(得分:1)
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"))
这就是它发生的原因