hoe tellen van checkbox checked
Heb code geschreven die het aantal geselecteerde checkboxen optelt.
Op dit moment laat de variable alleen "There are 1 checkboxe(s) are checked" zien ook als je meerdere checkboxen aangeklikt hebt.
Iedere checkbox heeft een andere naam, dit wil ik graag zo houden.
mijn vraag is: hoe kun je bijhouden hoeveel checkboxen er geselecteerd zijn, en dit tonen in de variable count?
alvast bedankt
de code is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (isset($_POST["submit"])){
$chkbox_count = 0;
if (isset($_POST['oordeel1']) && $_POST['oordeel1'] == "j") $chkbox_count+1;
if (isset($_POST['oordeel2']) && $_POST['oordeel1'] == "j") $chkbox_count+2;
if (isset($_POST['oordeel3']) && $_POST['oordeel1'] && $_POST['oordeel2'] == "j") $chkbox_count+3;
if (isset($_POST['oordeel4']) && $_POST['oordeel1'] && $_POST['oordeel2'] && $_POST['oordeel3']== "j") $chkbox_count+4;
$count = count($chkbox_count);
echo "There are ".$count." checkboxe(s) are checked";
if($count <= 3)
{
echo "<script>alert('test1234');</script>";
}
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="index.php" id="checkbox" method="POST">
<input type="checkbox" name="oordeel1" value="j"/>Akkoord
<input type="checkbox" name="oordeel2" value="j"/>Akkoord
<input type="checkbox" name="oordeel3" value="j"/>Akkoord
<input type="checkbox" name="oordeel4" value="j"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
</body>
</html>
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if (isset($_POST["submit"])){
$chkbox_count = 0;
if (isset($_POST['oordeel1']) && $_POST['oordeel1'] == "j") $chkbox_count+1;
if (isset($_POST['oordeel2']) && $_POST['oordeel1'] == "j") $chkbox_count+2;
if (isset($_POST['oordeel3']) && $_POST['oordeel1'] && $_POST['oordeel2'] == "j") $chkbox_count+3;
if (isset($_POST['oordeel4']) && $_POST['oordeel1'] && $_POST['oordeel2'] && $_POST['oordeel3']== "j") $chkbox_count+4;
$count = count($chkbox_count);
echo "There are ".$count." checkboxe(s) are checked";
if($count <= 3)
{
echo "<script>alert('test1234');</script>";
}
}
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="index.php" id="checkbox" method="POST">
<input type="checkbox" name="oordeel1" value="j"/>Akkoord
<input type="checkbox" name="oordeel2" value="j"/>Akkoord
<input type="checkbox" name="oordeel3" value="j"/>Akkoord
<input type="checkbox" name="oordeel4" value="j"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
</body>
</html>
Maar je zegt: $_POST['oordeel'.$i],
en de names van de checkbox zijn oordeel1 t/m oordeel4
waarom werkt dit dan ook?
Dus als $i bv. 3 is wordt 'oordeel'.$i dus 'oordeel3'.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<form action="index.php" id="checkbox" method="POST">
<input type="checkbox" name="oordeel[]" value="1"/>Akkoord
<input type="checkbox" name="oordeel[]" value="2"/>Akkoord
<input type="checkbox" name="oordeel[]" value="3"/>Akkoord
<input type="checkbox" name="oordeel[]" value="4"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
<input type="checkbox" name="oordeel[]" value="1"/>Akkoord
<input type="checkbox" name="oordeel[]" value="2"/>Akkoord
<input type="checkbox" name="oordeel[]" value="3"/>Akkoord
<input type="checkbox" name="oordeel[]" value="4"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
Of desnoods met indexen, indien de value belangrijk is:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<form action="index.php" id="checkbox" method="POST">
<input type="checkbox" name="oordeel[1]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[2]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[3]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[4]" value="j"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
<input type="checkbox" name="oordeel[1]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[2]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[3]" value="j"/>Akkoord
<input type="checkbox" name="oordeel[4]" value="j"/>Akkoord
<input type="submit" name="submit" value="verstuur" />
</form>
En maak gebruik van labels, dat is zoveel gebruiksvriendelijker, vooral als iemand een heleboel checkboxen moet afvinken :).