这是一个简单检查表单元素上是否已选中单选按钮的函数。
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,这是我想要禁用的链接。此时,链接显示警报,但在警报之后,链接将用户向前发送。
<a href="#m2" data-role="button" onclick="validate_selected('owner');"><p style="font-size:<?php echo $size1.'px'; ?>;">Next</p></a>
如果函数返回false,我希望禁用该链接。
答案 0 :(得分:7)
你几乎得到它,你需要在函数中添加'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/(在示例中添加了一些单选按钮)
答案 1 :(得分:3)
您需要实际return
函数返回的onclick
中的值:
onclick="return validate_selected('owner');">