Controler les checkBox
bonjour à tous ,
Eh oui c moi encore !! :D
j'ai ce formulaire qui contient des checkbox. Lorsque je Click sur le premier checkbox alors tous les autre serons automatiquement coché.
code javaScript:
Je veux faire le contraire : si je décoche la première checkbox alors les autres serons décoché automatiquement . Quelqu'un peut m'aider s'il vous plait.
Merci.
Eh oui c moi encore !! :D
j'ai ce formulaire qui contient des checkbox. Lorsque je Click sur le premier checkbox alors tous les autre serons automatiquement coché.
<form name="f1" action="TestPack1.php" method="POST">
<input type="checkbox" name="check1" onClick="myFunction()"> tous les checkbox
<input type="checkbox" name="check2">checkbox2
<input type="checkbox" name="check3"> checkbox3
<input type="checkbox" name="check4"> checkbox4
</form>
code javaScript:
<script language="JavaScript">
function myFunction() {
var x = document.getElementsByName("check1");
var i;
for (i = 0; i < x.length; i++) {
if (x[i].type == "checkbox"){
x[i].checked = true;
} }}
</script>
Je veux faire le contraire : si je décoche la première checkbox alors les autres serons décoché automatiquement . Quelqu'un peut m'aider s'il vous plait.
Merci.
1 réponse
-
ModérateurBonjour,
Tu as remarqué que ton code actuel ne fonctionnait pas
ni pour cocher... ni pour décocher ??
Donc.. il faut :
- Modifier ton HTML
- Modifier ton Script JS
Voila :<script type="text/javascript"> function myFunction(chk) { var x = document.getElementsByName("checkx"); var i; for (i = 0; i < x.length; i++) { if (x[i].type == "checkbox"){ x[i].checked = chk; } } } </script> <form name="f1" action="TestPack1.php" method="POST"> <input type="checkbox" name="check1" onClick="myFunction(this.checked)"> tous les checkbox <input type="checkbox" name="checkx">checkbox2 <input type="checkbox" name="checkx"> checkbox3 <input type="checkbox" name="checkx"> checkbox4 </form>
-
-
Modérateur@ArbittaComment ça.... ça n'a pas marché ??
ça fonctionne parfaitement chez moi sur tous mes navigateurs
Montres moi ce que tu as écris comme code . -
ton code marche mais ce n'est pas ce que je veut exactement(je ne veut pas que le nom des checkbox soit le mémé.).
Regarde ma page testPack1.php
<?php
if (isset($_POST['check1']))
{include("Analys1.php");}
if (isset($_POST['check2']))
{include("Analyse2.php");}
if (isset($_POST['check3']))
{include("Analyse4.php");}
if (isset($_POST['']))
{ echo "Vous Devez Cochez Au Moin Une Case"; }
?>
chaque case à cochée à sa propre page php qui sera affiché et si je met tous les case à cohé du méme nom alos ça me posera un probléme lors de mon appel dans testpack1.php.
Merci. -
Modérateur@ArbittaPour récupérer toutes les checkbox sans s'occuper de savoir combien tu en auras....
tu dois mettre le même nom pour constituer un ARRAY de checkbox.
Ensuite.. c'est uniquement via leur VALUE que tu sais de laquelle il s'agit !
par exemple...
<script type="text/javascript"> function myFunction(chk) { var x = document.getElementsByName("checkx[]"); var i; for (i = 0; i < x.length; i++) { if (x[i].type == "checkbox"){ x[i].checked = chk; } } } </script> <form name="f1" action="TestPack1.php" method="POST"> <input type="checkbox" name="check1" value="Analyse1.php"> onClick="myFunction(this.checked)"> tous les checkbox <input type="checkbox" name="checkx[]" value="Analyse2.php">checkbox2 <input type="checkbox" name="checkx[]"value="Analyse3.php"> checkbox3 <input type="checkbox" name="checkx[]"value="Analyse4.php"> checkbox4 </form>
et dans la page PHPif (isset($_POST['check1'])){ include $_POST['check1']; } if(isset($_POST['checkx'])){ foreach($_POST['checkx'] as $k=>$CHK){ include $CHK; } }
-