我无法在JS中获得验证,也不理解为什么它不起作用. 如果未选中至少一个复选框,则用户应该收到警报.它不起作用,因为即使没有选中复选框,表单也会被提交.
您可以尝试使用该checked
属性来确保选中2个复选框中的至少一个:
<script> function validar() { var s1 = document.getElementById('s1'); var s2 = document.getElementById('s2'); if (!s1.checked && !s2.checked) { alert('You must check at least one!'); return false; } return true; } </script>
另请注意true
,如果验证成功,我们应该返回.
您的代码无效的原因是您使用了该value
属性.无论用户是否选中此复选框,都会返回value
复选框(sinservicios
或dosservicios
)的属性.它永远不会返回一个空字符串,这是你似乎在你的if
条件下测试的.