这是一个简单检查表单元素上是否选择了单选按钮的函数.
function validate_selected(element) {
var radios = document.getElementsByName(element);
var formValid = false;
var i = 0;
while (!formValid && i < radios.length) {
if (radios[i].checked) formValid = true;
i++;
}
if (!formValid) alert("Must select one before moving on!");
return formValid;
}
如果函数返回false,这是我想要禁用的链接.此时,链接显示警报,但在警报之后,链接将用户向前发送.
如果函数返回false,我希望禁用该链接.
最佳答案
你几乎得到它,你需要在函数中添加’return’以及:
onclick="return validate_selected('owner');"
还有一个小小的提示,添加一个休息:
while (!formValid && i < radios.length) {
if (radios[i].checked){
formValid = true;
break; // No need to continue any more,we've found a selected option
}
i++;
}
我已经将你的onclick从内联更改为处理事件的正确方法,并制作了一个工作演示.只需从按钮中删除onclick并添加:
document.getElementById('button').onclick =function(){ validate_selected('owner'); };
http://jsfiddle.net/WX6v7/1/(在示例中添加了一些radiobuttons)