Checkbox avec POST
Résolu
pitxu
Messages postés
689
Date d'inscription
Statut
Membre
Dernière intervention
-
pitxu Messages postés 689 Date d'inscription Statut Membre Dernière intervention -
pitxu Messages postés 689 Date d'inscription Statut Membre Dernière intervention -
Slt,
j'ai un petit souci avec les checkbox :
j'ai un formulaire avec 3 checkbox, lorsque je sélectionne l'une d'entre elles je déclenche l'envoie du formulaire avec un onClick="FORM.submit();"
Seule la checkbox sélectionné est "posté" avec la valeur "on".
Comment faire pour que les 2 autres checkbox soient postés avec la valeur "off" ?
j'ai un petit souci avec les checkbox :
j'ai un formulaire avec 3 checkbox, lorsque je sélectionne l'une d'entre elles je déclenche l'envoie du formulaire avec un onClick="FORM.submit();"
Seule la checkbox sélectionné est "posté" avec la valeur "on".
Comment faire pour que les 2 autres checkbox soient postés avec la valeur "off" ?
A voir également:
- Checkbox avec POST
- Brouillon post instagram - Guide
- Post it windows - Télécharger - Agendas & Calendriers
- Code post - Télécharger - Vie quotidienne
- Billing post code - Forum Réseaux sociaux
- Comment utiliser une carte bancaire ✓ - Forum Réseaux sociaux
6 réponses
J'ai jamais décrit de comportement de boutons radio, 1 on et 2 off c'etait pour l'exemple, on pourrait très bien avoir 2 on et 1 off.
J'explique :
restriction d'acces à des repertoires avec sql
login pass mail rep1 rep2 rep3
toto titi toto@toto.fr 1 0 1
Si =1 la case est cochée, si =0 elle n'est pas cochée.
Je veux ,avec un clic pour cocher ou décocher, générer une requête SQL qui mettra la table à jour.
Voilà pourquoi je souhaite récupérer toutes les valeurs des cases à cocher.
J'explique :
restriction d'acces à des repertoires avec sql
login pass mail rep1 rep2 rep3
toto titi toto@toto.fr 1 0 1
Si =1 la case est cochée, si =0 elle n'est pas cochée.
Je veux ,avec un clic pour cocher ou décocher, générer une requête SQL qui mettra la table à jour.
Voilà pourquoi je souhaite récupérer toutes les valeurs des cases à cocher.
Bonjour pitxu,
il y a un problème avec ton code. Dès que quelcun fait un déclic sur n'importe quelle case, le submit se déclenche. Il faut d'abord laisser les gens choisir les cases et ensuite déclcencher submit avec un bouton soumettre.
Serge.
il y a un problème avec ton code. Dès que quelcun fait un déclic sur n'importe quelle case, le submit se déclenche. Il faut d'abord laisser les gens choisir les cases et ensuite déclcencher submit avec un bouton soumettre.
Serge.
Dalida, je suis d'accord avec toi ... en partie.
Vous n'avez visiblement jamais développé un tableau avec des checkbox dynamiques sinon vous seriez au jus.
Comment détectes-tu qu'une checkbox a été décoché ?
ou comment fais-tu la différence entre une check box décoché et la première visite sur la page ou rien n'est posté ?
if (!isset($checkbox1)) { ....} ne fait pas la différence.
Ce que vous dites est vrai ... pour du statique, pas pour du dynamique.
La solution, je vous la donne puisqu'on m'a répondu sur un autre forum :
<input type="checkbox" name="checkbox1" onClick="document.form1.chk1.value=1;form1.submit();">
<input type="hidden" name="chk1" value="">
Ainsi, peu importe la valeur du checkbox, il ne nous sert qu'à afficher les valeurs relatives à la base de données SQL et à déclencher le POST. Les champs hidden seront postés indépendamment et c'est sur leur propriété value qu'on pourra effectuer des tests.
Vous n'avez visiblement jamais développé un tableau avec des checkbox dynamiques sinon vous seriez au jus.
Comment détectes-tu qu'une checkbox a été décoché ?
ou comment fais-tu la différence entre une check box décoché et la première visite sur la page ou rien n'est posté ?
if (!isset($checkbox1)) { ....} ne fait pas la différence.
Ce que vous dites est vrai ... pour du statique, pas pour du dynamique.
La solution, je vous la donne puisqu'on m'a répondu sur un autre forum :
<input type="checkbox" name="checkbox1" onClick="document.form1.chk1.value=1;form1.submit();">
<input type="hidden" name="chk1" value="">
Ainsi, peu importe la valeur du checkbox, il ne nous sert qu'à afficher les valeurs relatives à la base de données SQL et à déclencher le POST. Les champs hidden seront postés indépendamment et c'est sur leur propriété value qu'on pourra effectuer des tests.
Pour être plus clair :
<?
if (isset($_POST)) extract ($_POST);
if (isset($checkbox1) || isset($checkbox2) || isset($checkbox3)) phpinfo(INFO_VARIABLES);
?>
<form name="form1" method="post" action="test.php">
<input type="checkbox" name="checkbox1" onClick="form1.submit();">
<input type="checkbox" name="checkbox2" onClick="form1.submit();">
<input type="checkbox" name="checkbox3" onClick="form1.submit();">
</form>
<?
if (isset($_POST)) extract ($_POST);
if (isset($checkbox1) || isset($checkbox2) || isset($checkbox3)) phpinfo(INFO_VARIABLES);
?>
<form name="form1" method="post" action="test.php">
<input type="checkbox" name="checkbox1" onClick="form1.submit();">
<input type="checkbox" name="checkbox2" onClick="form1.submit();">
<input type="checkbox" name="checkbox3" onClick="form1.submit();">
</form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
la valeur renvoyée elle-même, on s'en tape.
tu pourrais vouloir 1 = 'casimir' et 2 = 'pandi panda' que je te dirais la même chose !
tu décris :
Seule la checkbox sélectionné est "posté" avec la valeur "on".
Comment faire pour que les 2 autres checkbox soient postés avec la valeur "off" ?
si à cela on ajoute le déclenchement du 'submit()' sur 'onChange' et cela fait que tu as 3 options mais que seule une et une seule peut être cochée.
propositions multiples + choix libre = checkbox :
Les cases à cocher (et les boutons « radio ») sont des interrupteurs marche/arrêt qui peuvent être actionnés par l'utilisateur. L'interrupteur est sur « marche » quand l'attribut checked de l'élément de commande est spécifié. Lors de la soumission du formulaire, seules les commandes de cases à cocher sur « marche » peuvent devenir des commandes réussies.
Dans un formulaire, plusieurs cases à cocher peuvent partager le même nom de commande. Ainsi, par exemple, les cases à cocher permettent aux utilisateurs de sélectionner plusieurs valeurs pour la même propriété. On utilise l'élément INPUT pour créer une commande de case à cocher.
propositions multiples + choix unique = radio.
Les boutons « radio » sont analogues aux cases à cocher, à la différence que, quand plusieurs boutons partage le même nom de commande, alors ils s'excluent mutuellement : quand l'un est mis sur « marche », tous les autres avec le même nom se mettent sur « arrêt ».
et pour savoir comment poster les valeurs qui ne sont pas cochées, pour moi c'est un problème qui ne pose pas puisque tu sais déjà qui est coché.
si dans ton script tu testes chaque valeur tu sauras que valeur renvoyée = 'on', sinon valeur = 'off'.
donc si tu veux toujours déclencher l'envoi sur le changement de valeur des checkbox, je répète et je maintiens qu'il ne sert à rien de vouloir envoyer les valeurs non cochées puisque tu peux les évaluer dans le script cible du formulaire.