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 に答える