0

我已使用此代码在表单上设置验证,以便在未检查所有按钮时提醒我!..但是当我尝试它时,即使检查了所有按钮,它也会给我错误警报..请帮忙?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

    <script type="text/javascript">
function validateForm(formData){
    if(!this.v1.checked && !this.v2.checked && !this.v3.checked){
        alert('answer all questions please');
        return false;
    }
       return true;
    }
    </script>

    <title></title>
</head>

<body>
    <form name="form1" action="mark.php" onsubmit="return validateForm()" method="post"> 
        <input type="radio" value="1" id="v1" name="v1"> <input type="radio" value="1" id="v2" name="v2"> <input type="radio" value="1" id="v3" name="v3"> <input type="submit" value="Send">
    </form>
</body>
</html>
4

2 回答 2

1

看看指的是什么this,使用console.log(this).

如果您使用 获得单选按钮可能会更好getElementById(),请在此处查看示例。

如何检查是否使用 JavaScript 选择了单选按钮?

还要改变你的 if 语句的逻辑,使用这个:

if (!document.getElementById('v1').checked || !document.getElementById('v2').checked || !document.getElementById('v3').checked)

我在 jsfiddle.net 中修改了您的脚本,以制作一个有效的脚本:http: //jsfiddle.net/Xh5HW/1/

于 2012-11-16T06:55:54.157 回答
0
var btn = valButton(form.group1);
if (btn == null) alert('No radio button selected');
else alert('Button value ' + btn + ' selected');

查看http://javascript.about.com/library/blradio.htm

于 2012-11-16T07:09:40.583 回答