<div id="checkbox">
<input type="checkbox" id="1" name="1"/><br/>
<input type="checkbox" id="2" name="2"/><br/>
<input type="checkbox" id="3" name="3"/><br/>
<input type="submit" value="Create"/>
</div>
我有上面的代码,需要某种类型的检查,使表单只提交,如果至少一个框被选中,也不会提交,如果2个框被选中,所以只有检查,以确保1被选中。
多谢
如果您想让用户选择一个或多个值,那么使用Checkbox是有意义的。我推荐你使用单选按钮
使用单选按钮代替复选框,并给它们都起相同的名字。然后不要使用javascript
使用单选按钮
<div id="checkbox">
<input type="radio" id="1" name="radio_button"/><br/>
<input type="radio" id="2" name="radio_button"/><br/>
<input type="radio" id="3" name="radio_button"/><br/>
<input type="submit" value="Create"/>
</div>
我建议使用单选按钮组。你可以参考这个参考
单选按钮,你不需要使用javascript。但是如果你坚持使用复选框,使用javascript是一个解决方案。
为什么不直接使用单选按钮呢?或者在这个复选框上添加一个类(如果你想要复选框),然后取消选中所有的onClick
使用Javascript函数:
<script>
function checkifclicked()
{
//alert($('input[name=cb]').val());
var checkboxs=document.getElementsByName("cb");
var okay=false;
for(var i=0,l=checkboxs.length;i<l;i++)
{
if(checkboxs[i].checked)
{
okay=true;
}
}
if(!okay){
alert("Please check a checkbox");
return false;
}
}
</script>
<form name="send_email" id="send_email" action="send_email.php" onSubmit="return checkifclicked()" method="post">
<div id="checkbox">
<input type="checkbox" id="1" name="cb"/><br/>
<input type="checkbox" id="2" name="cb"/><br/>
<input type="checkbox" id="3" name="cb"/><br/>
<input type="submit" value="Submit"/>
</div>
</form>
演示>>
如果只选中其中一个,则应该使用单选按钮。
<div id="checkbox">
<input type="radio" id="1" name="somename"/>Label1<br/>
<input type="radio" id="2" name="somename"/>Label2<br/>
<input type="radio" id="3" name="somename"/>Label3<br/>
<input type="submit" value="Create"/>
</div>
http://jsfiddle.net/WHDFt/您还需要确保选中了其中一个。这里有一些解决方案。
进行默认检查。例如,您可以默认选中第一个无线电。不可能取消选中单选按钮,所以总是会有选中的字段。
你可以在提交表单时使用JavaScript验证。
给出提交按钮的id,例如:
<input id="submit" type="submit" value="Create"/>
js代码:
$(function(){
$('#submit').click(function(){
if($('#checkbox input:checked')){
return true;
}
return false;
});
});
但是使用多重选择对你来说是更好的主意
if(document.getElementById('1').checked || document.getElementById('2').checked || document.getElementById('3').checked)
{
if((document.getElementById('1').checked && document.getElementById('2').checked ) || (document.getElementById('2').checked && document.getElementById('3').checked ) || (document.getElementById('1').checked && document.getElementById('3').checked ))
{
return false;
}
else
{
//dosomthing
}
}