仅在选中复选框时才提交

时间:2013-05-10 08:43:47

标签: php javascript html

<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被检查。

非常感谢

8 个答案:

答案 0 :(得分:1)

如果您有兴趣让用户选择一个或多个值,则使用Checkbox是有意义的。为了您的目的,我会推荐单选按钮

使用单选按钮代替复选框,并为它们指定相同的名称。然后根本不要使用javascript。

答案 1 :(得分:1)

使用单选按钮

<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>

答案 2 :(得分:0)

为什么不用单选按钮?或者在此复选框上添加一个类(如果需要复选框)并取消选择所有onClick

答案 3 :(得分:0)

我建议使用单选按钮组。您可以按照reference

进行操作

使用单选按钮,您不需要使用javascript。但如果你坚持使用复选框,使用javascript就是解决方案之一。

答案 4 :(得分:0)

使用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>

Demo Here>>

答案 5 :(得分:0)

如果只应检查其中一个,则应使用单选按钮。

<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/

您还需要确保选中其中一个。有一些解决方案。

  1. 进行默认检查。例如,您可以默认选中第一个无线电。取消选中单选按钮是不可能的,所以总会有一个检查字段。

  2. 您可以在提交表单时使用JavaScript对此进行验证。

答案 6 :(得分:0)

提供id以提交按钮,例如:

<input id="submit" type="submit" value="Create"/>

js code:

$(function(){
   $('#submit').click(function(){
      if($('#checkbox input:checked')){
         return true;
      }
      return false;
   });
});

但是使用多选对你来说是更好的主意

答案 7 :(得分:0)

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

      }

    }