verifier checkbox html5

alf233
Invité n'ayant pas de compte PHPfrance

11 févr. 2015, 20:36

bonjour,

j'ai un petit soucis pour vérifier qu'un checkbox est sélectionné

voici mon code
<div class="field text"><label>Pseudo:* :</label><input type="text" name="pseudo" onKeyUp="verifPseudo(this.value)" placeholder="Votre pseudo" required></div>
<div class="field text"><label>Password* :</label><input type="password" name="pass" id="pass" class="ftext" onKeyUp="verifPass(this.value)" placeholder="Votre password" required></div>
<div class="field text"><label>Confirmation* :</label><input oninput="check1(this)" id="pass_confirm" type="password" name="confirm" class="ftext" onKeyUp="verifConfirm(this.value)" placeholder="Confirmez votre password" required></div>

<p style="padding:25px 0 0 170px;">
J'accepte les <a href="conditions.php" onclick="open('conditions.php', 'Popup', 'scrollbars=1,resizable=1,height=560,width=770'); return false;" target="popup">conditions g&eacute;n&eacute;rales</A>&nbsp;&nbsp;<input oninput="check2(this)" style="width:14px; height:14px;" type="checkbox" id="accept" name="accept">
</p>

<div style="padding:0 0 0 170px;">
									<button type="submit" role="button" aria-disabled="false">
									<a class="link2"><span><span>valider</span></span></a>
									</button></div>


</fieldset></div></FORM>

<script>
    function check1(input) {
      if (input.value != document.getElementById('pass').value) {
        input.setCustomValidity('La confirmation de votre password n\'est pas valide.');
      } else {
        // le champ est valide : on réinitialise le message d'erreur
        input.setCustomValidity('');
      }
    }
	function check2(input) {
	  if (input.value != 'on') {
        input.setCustomValidity('Vous devez accepter les conditions générales.');
      } else {
        // le champ est valide : on réinitialise le message d'erreur
        input.setCustomValidity('');
      }
    }
    </script>

</div>
donc je fais une verification sur le password et sa confirmation pour savoir si les deux sont conform la pas de soucis ensuite je tente une seconde vérification pour vérifier que mon checkbox est sélectionné mais la rien ne se passe sélectionné ou non mon formulaire est valide

Je ne trouve pas l'erreur si quelq'un pouvais se pencher sur mon probleme ce serais gentil

Cordialement

Mammouth du PHP | 688 Messages

11 févr. 2015, 20:46

c'est à la soumission du formulaire qu'il faut faire la vérification donc dans le <form>

alf233
Invité n'ayant pas de compte PHPfrance

11 févr. 2015, 20:58

j'ai suivi ce tuto

http://dmouronval.developpez.com/tutori ... res-html5/

et lui il le fait apres le form et effectivement ça fonctionne comme ça car la verification du password sur mon script fonctionne mais pas le checked

Mammouth du PHP | 688 Messages

11 févr. 2015, 21:14

c'est
<form oninput="total.value = (nights.valueAsNumber * 99) + ((guests.valueAsNumber - 1) * 10)">
qui permet que cela fonctionne.

alf233
Invité n'ayant pas de compte PHPfrance

11 févr. 2015, 21:49

mais cela permet juste de calculer le tarif total qui est affiché grace à cette ligne:

<label>Total :</label>
      <output id="total" name="total">99</output>.00 €
      <br><br>
mais moi je veux juste vérifier que le visiteur accepte bien les conditions en ayant sélectionné et pas faire un affichage

alf233
Invité n'ayant pas de compte PHPfrance

12 févr. 2015, 22:59

bonsoir,

et bien résultat j'ai trouvé c'est tout simple honte à moi lol

en tout cas j'avais raison sur un point la reponse de tof73 etais loin de la solution qui étais bien plus simple que cela

la vérification javascript ne servais à rien et il suffisais juste de remplacer le code suivant
<input oninput="check2(this)" style="width:14px; height:14px;" type="checkbox" id="accept" name="accept">
par
<input style="width:14px; height:14px;" type="checkbox" id="accept" name="accept" required="required">
l'attribut required a pour effet de ne pas valider le form si le checkbox n'est pas checked

et moi qui pensais que required n'étais pas pris en compte par les checkbox

en tout cas merci à vous quand même et bonne fin de soirée :oops:

Mammouth du PHP | 688 Messages

12 févr. 2015, 23:11

pas de message explicatif avec cette solution, je doute que cela fonctionne avec un vieux navigateur.

alf233
Invité n'ayant pas de compte PHPfrance

15 févr. 2015, 09:26

bonjour,

mais si que j'ai donné la solution
required="required
de ne pas valider le champs s'il est vide c'est un des nouveaux attributs du HTML5

Aucun soucis avec les vieux navigateurs puisque si le navigateur ne gère pas ses fonctions ils les ignore simplement
cela n'empeche pas le formulaire de fonctionner en lui meme mais les vérifications ne seront pas faites

couplé avec css c'est plutot pas mal mais je m'attend as ce qu'on me disent à quoi ça sert si on as pas la garantie que ça fonctionne

ben du coup je dirais à quoi sert javascript vu que de ce coté nous n'avons aucune garantie de l'execution du code puisque
javascript peux être désactivé sans soucis par le client

Mammouth du PHP | 737 Messages

16 févr. 2015, 10:49

Bonjour,

Javascript sert à éviter les erreurs d'étourderie et fais office de premier rideau.

Ca permet d'afficher des alertes et en même temps désactiver le javascript de nos jours serait une belle c****

Après il faut toujours revérifier en mode sécurisé. Ce n'est pas une perte de temps mais plus du confort et de l'ergonomie.

Mega
;)
Dyslexics are teople poo