Ros*_*nda 0 javascript validation
我无法在JS中获得验证,也不理解为什么它不起作用. 如果未选中至少一个复选框,则用户应该收到警报.它不起作用,因为即使没有选中复选框,表单也会被提交.
<body>
<script>
function validar()
{
var s1=document.getElementById('s1');
var s2=document.getElementById('s2');
if (s1.value==''||s2.value=='')
{
alert("You must check at least one!");
return false;
}
}
</script>
<form name="calcular" onsubmit="return validar()" method="post">
<input type ="checkbox" name="servicios[]" id="s1" value="sinservicios">Sin servicios<br>
<input type ="checkbox" name="servicios[]" id="s2" value="dosservicios">Dos servicios<br>
...
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用该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>
Run Code Online (Sandbox Code Playgroud)
另请注意true,如果验证成功,我们应该返回.
您的代码无效的原因是您使用了该value属性.无论用户是否选中此复选框,都会返回value复选框(sinservicios或dosservicios)的属性.它永远不会返回一个空字符串,这是你似乎在你的if条件下测试的.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |