Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
638 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Vérification chekbox choix multiple

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Vérification chekbox choix multiple

n°1421980
hacksi
Posté le 07-08-2006 à 23:26:58  profilanswer
 

Bonjour,
voila j'ai créé  un petit formulaire en php dont voici un exemple :

Code :
  1. <form name='formulaire' METHOD='GET' action=".$PHP_SELF." onsubmit='return validation();'>
  2.      <input type='checkbox' name='recherche[]' value='1'>toto<br>
  3.      <input type='checkbox' name='recherche[]' value='2'>titi<br>
  4.      <input type='checkbox' name='recherche[]' value='3'>tata<br>
  5.      <input type='submit' value='valider'>
  6. </form>


donc je voudrais faire une fonction javascript qui me permet de vérifier que au moins une checkbox a été cochée mais je ni parvient pas.
 
Quelqu'un peut-il m'aider svp ?

mood
Publicité
Posté le 07-08-2006 à 23:26:58  profilanswer
 

n°1422012
gatsu35
Blablaté par Harko
Posté le 07-08-2006 à 23:53:28  profilanswer
 

Code :
  1. <form name='formulaire' METHOD='GET' action=".$PHP_SELF." onsubmit='return validation(this);'>
  2. function validation(form) {
  3.   var inputs = this.getElementsByTagName("input" );
  4.   var oneCheck = false;
  5.    for (var i=0; i<inputs.length;i++) {
  6.   var x=input[i];
  7.    if (x.type.toLowerCase=="checkbox" && x.name.indeoxOf(rechercher)!=-1) && x.checked) oneCheck = true;
  8.   if (!oneCheck) {
  9.   alert("vous devez au moins cocher une de ces putains de cases" ); 
  10. return oneCheck;
  11. }
  12. }
  13. }

n°1422014
hacksi
Posté le 07-08-2006 à 23:55:04  profilanswer
 

merci, mais est ce que cela marche même si jai des champs autre que des checkbox dans mon formulaire ?

n°1422030
gatsu35
Blablaté par Harko
Posté le 08-08-2006 à 01:00:34  profilanswer
 

regarde le code bordel :o

n°1422031
hacksi
Posté le 08-08-2006 à 01:01:31  profilanswer
 

autant pour moi :d

n°1422038
hacksi
Posté le 08-08-2006 à 02:18:20  profilanswer
 

j'ai essayé mais ça ne marche pas et je ne vois pas pourquoi, voici l'erreur de la console javascript :
Erreur : syntax error
Code source :
if (x.type.toLowerCase=="checkbox" && x.name.indeoxOf(recherche)!=-1) && x.checked)

n°1422040
gatsu35
Blablaté par Harko
Posté le 08-08-2006 à 02:29:43  profilanswer
 

x.type.toLowerCase=="checkbox"
devient  
x.type.toLowerCase()=="checkbox"
avec un peu de recherche tu aurait trouvé
j'avais tapé ce bout de code à l'arrache sans le tester tout à l'heure

n°1422041
hacksi
Posté le 08-08-2006 à 02:31:49  profilanswer
 

ça me renvoit toujours la meme erreur

n°1422051
gatsu35
Blablaté par Harko
Posté le 08-08-2006 à 07:53:58  profilanswer
 

aller fait un effrot bordel :o
 
if (x.type.toLowerCase()=="checkbox" && x.name.indeoxOf(recherche)!=-1 && x.checked)
il restait une parenthere de trop après le -1

n°1422303
hacksi
Posté le 08-08-2006 à 15:07:28  profilanswer
 

J'avoue que pour la parenthèse j'aurais pu le voir mais a 3h00 du mat c'est un peu plus difficile :)
Sinon la apparament la syntaxe est bonne, mais il doit y avoir un problème avec le this, voici mon code :

Code :
  1. function validation(form)
  2. {
  3. var inputs = this.getElementsByTagName("input" ); 
  4. var oneCheck = false
  5. for (var i=0; i<inputs.length;i++)
  6.  var x=input[i]; 
  7.  if (x.type.toLowerCase()=="checkbox" && x.name.indeoxOf(recherche)!=-1 && x.checked)
  8.   oneCheck = true
  9.  if (!oneCheck)
  10.  { 
  11.   alert("vous devez au moins cocher une de ces putains de cases" ); 
  12.   return oneCheck;
  13.  }
  14. }
  15. }
  16. echo "<form name='formulaire' METHOD='GET' action=".$PHP_SELF." onsubmit='return validation(this);'>";


 
Je dois avouer que en javascript je ni connait pas grand chose hormis le fait de faire quelques vérifications de champs !

mood
Publicité
Posté le 08-08-2006 à 15:07:28  profilanswer
 

n°1422355
anapajari
s/travail/glanding on hfr/gs;
Posté le 08-08-2006 à 16:55:11  profilanswer
 

Citation :


var inputs = this.getElementsByTagName("input" );  
var x=input[i];  


tu vois rien qui change????
 
par ailleurs tu n'as pas de return true si tout se passe bien!

n°1422371
Bidem
Posté le 08-08-2006 à 17:05:42  profilanswer
 

Et il faudrait sortir le test if (!oneCheck) de la boucle car là, si le 1er checkbox n'est pas coché, tu te prends le message d'alerte

n°1422384
hacksi
Posté le 08-08-2006 à 17:19:06  profilanswer
 

j'ai corrigé var x=input[i];   en var x=inputs[i];  
jai sortie le test if (!oneCheck) de la boucle
 
et j'ai le message d'erreur suivant : this.getElementsByTagName is not a function
 
je demande si c'est pas un problème avec le this...

n°1422455
gatsu35
Blablaté par Harko
Posté le 08-08-2006 à 19:23:18  profilanswer
 

Je vous propose de recoder une fonction qui a été écrite en 1 minute à 23h30 du soir après 15h de taf [:petrus75] ya po de pb

n°1422467
hacksi
Posté le 08-08-2006 à 19:48:42  profilanswer
 

lol bin perso ça me dérangerait pas de le faire si je maitrisait le javascript :) mais c'est pas le cas...

n°1422849
Bidem
Posté le 09-08-2006 à 13:54:01  profilanswer
 

Code :
  1. <form name='formulaire' METHOD='GET' action=".$PHP_SELF." onsubmit='return validation(this);'>
  2. function validation(form) {
  3.   var inputs = form.getElementsByTagName("input" );
  4.   var oneCheck = false;
  5.   for (var i=0; i<inputs.length && !oneCheck; i++) {
  6.     var x=input[i];
  7.     if (x.type.toLowerCase=="checkbox" && x.name.indeoxOf(rechercher)!=-1 && x.checked) {
  8.       oneCheck = true;
  9.     }
  10.   }
  11.   if (!oneCheck) {
  12.     alert("vous devez au moins cocher une de ces putains de cases" );
  13.   }
  14.   return oneCheck;
  15. }

n°1432824
hacksi
Posté le 29-08-2006 à 01:38:00  profilanswer
 

me revoila apres mes ptites vacances mais malheuresement cela ne marche toujours pas :(

n°1432843
gatsu35
Blablaté par Harko
Posté le 29-08-2006 à 07:26:46  profilanswer
 

hacksi a écrit :

me revoila apres mes ptites vacances mais malheuresement cela ne marche toujours pas :(


Tu te sors les doigts du trou du cul. Tu prends firefox, tu ouvres la console firefox et tu nous dis l'erreur que ça te mets.
de plus tu nous colle le code HTML (avec un H, un T, un M, et un L) de ta page et pas le code PHP afin que nous puissions voir exactement d'où ça viens.

n°1432981
bis2kt
Posté le 29-08-2006 à 11:38:58  profilanswer
 

hacksi a écrit :

me revoila apres mes ptites vacances mais malheuresement cela ne marche toujours pas :(


 
c'est bizarre une fois je suis rentré de vacances et tout mon code était débuggé  :lol:

n°1434807
hacksi
Posté le 01-09-2006 à 00:16:46  profilanswer
 

Bon le soucis cest ce test :

Code :
  1. if (x.type.toLowerCase()=="checkbox" && x.name.indeoxOf(recherche)!=-1 && x.checked)


le test est jamais vrai...


Message édité par hacksi le 01-09-2006 à 00:17:00

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Vérification chekbox choix multiple

 

Sujets relatifs
[Quick]Utiliser la fonction date avec un locale() de choixFaire une verification et passer a une page en cliquant sur un bouton
requete multiple PHP SQL : besoin coup de main urgentSQL Comment ordonner une requete multiple
Choix multiple de fichiers sur notre disque durliste choix multiple
Verification de la presence d'un fichier -> increment de 1 si vraiAlgo -> Langage : Choix du langage ?
Plus de sujets relatifs à : Vérification chekbox choix multiple


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR