将复选框限制验证为5

时间:2015-02-23 09:41:07

标签: java javascript php jquery mysql

<html>
    <head>
         <title>HTML Checkbox</title>
    </head>
    <body>



    enter code here
    <h2> Pick your most favorite fruits: </h2>


     <form name="fruitcheckbox" action="fruits.php" method="POST">


       <input type="checkbox" name="fruit[]" value="orange"> Orange
       <input type="checkbox" name="fruit[]" value="apple"> Apple
       <input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
       <input type="checkbox" name="fruit[]" value="banana"> Banana
       <input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
       <br>
       <input type="submit" value="Save" name="btnsave">
     </form>

任何人都可以告诉我如何验证复选框数组。

if(isset($_POST['btnsave']))

{   $fruit = $_POST['fruit'];
    $values = array();
     foreach($chkbox as $selection )
     {     if(in_array($selection, $fruit))
             { $values[ $selection ] = 1;  }
         else
             { $values[ $selection ] = 0;  }
          } 

这是我的代码的一部分。我想将选中的复选框限制为5.谢谢。我非常需要它:|

4 个答案:

答案 0 :(得分:0)

你需要这样的东西吗?

if (isset($_POST['btnsave'])) {

$fruits = $_POST['fruit'];

$count = count($fruits);

if ($count > 5) {

// Error; Only 5 checks allowed

} else {

// Save the data

}

}

答案 1 :(得分:0)

当您使用括号中的字段提交时,例如。 name =“fruit []”当它在php的后端收到时,它将是一个数组。 然后你可以使用它:

if(isset($_POST['fruit']) && count($_POST['fruit']) > 5) {
    // add your error message
} else {
    // Everything is fine as long as you dont have to select atleast one of them
}

答案 2 :(得分:0)

如果我的理解没有错,你有5个以上的复选框,你希望用户限制只检查5个复选框。

如果是这种情况,那么下面的代码可能对您有帮助。

$("input[name='fruit[]']").change(function(e) {
      if($('input[name="fruit[]"]:checked').length==5) {
          $("input[name='fruit[]']:not(:checked)").attr("disabled", true);
      } else {
          $("input[name='fruit[]']:not(:checked)").attr("disabled", false);
      }
 });

以上代码将允许您仅检查5个复选框,每当用户选中第5个复选框时,它将禁用剩余的未选中复选框。每当用户取消选中5个复选框中的任何一个时,它将启用所有复选框。

答案 3 :(得分:0)

试试这个。你可以限制javascript本身。因此,您可以限制客户端用户无需转到服务器端。它会限制你4件物品。您可以更改脚本中的数字以增加值

<script type="text/javascript">
         function validateitem(){
             var items = document.forms['fruitcheckbox'];
                var inc = 0;
                var i;
                for (i = 0; i < items.length; i++) {
                    if (items[i].checked) {
                        inc++;
                    }
                }
                if(inc == 0) {
                    document.getElementById("limitmsg").innerHTML = 'Select atleast 1 item.';
                    return false;
                } else if(inc>4){
                    document.getElementById("limitmsg").innerHTML = 'You can select only 4 items.';
                    return false;
                }
                }
         </script>
    <h2>Pick your most favorite fruits:</h2>


    <form name="fruitcheckbox" action="fruits.php" method="POST"
        onsubmit="return validateitem();">


        <input type="checkbox" name="fruit[]" value="orange"> Orange <input
            type="checkbox" name="fruit[]" value="apple"> Apple <input
            type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit <input
            type="checkbox" name="fruit[]" value="banana"> Banana <input
            type="checkbox" name="fruit[]" value="watermelon"> Watermelon <br> <span
            style="color: red" id="limitmsg"></span><input type="submit"
            value="Save" name="btnsave">
    </form>