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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Verification checkbox, javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Verification checkbox, javascript

n°1526058
mule_panda
Posté le 08-03-2007 à 21:28:34  profilanswer
 

Bonjour, voila j'ai un formulaire qui me permet d'ajouter des produit dans une base de donnée. Il faut pour sa, selectionner une ou plusieur sous categorie de produit via les checkbox généré par un script php. Je voudrais pouvoir controler qu'il y est au moin une case de coché, j'ai trouver une fonction javascript (elle est au début de mon script) mais elle ne fonctionne pas. Si quelqu'un veut bien m'aider. Merci d'avance

 

form_ajoutproduit.php

Code :
  1. <html>
  2. <head>
  3. <title></title>
  4. <SCRIPT type="text/javascript" SRC="verif_form.js"> </SCRIPT>
  5. </head>
  6. <body >
  7. <form name="formulaire"  enctype="multipart/form-data" action="ajout_form_produit.php" method="post"  onSubmit="return verif_ajout_produit(this.elements['souscategorie[]'])">
  8. <?
  9. require('_conn_admin.php');
  10. $req = "SELECT id, nom_cat FROM produit_categorie";
  11. $ret = mysql_query ($req) or die (mysql_error ());
  12. while($data = mysql_fetch_array($ret)) { ?>
  13. <i>
  14. <?php echo "<ul>".$data['nom_cat'];
  15. //echo "<a href='supprcategorie.php?idcat=".$data['categorie']."'>Suppression</a><br>";?>
  16. </i>
  17.  <?php
  18.  $req2 = "SELECT id, nom_souscat FROM produit_souscategorie WHERE id_categorie like '".$data['id']."'";
  19.  $ret2 = mysql_query ($req2) or die (mysql_error ());
  20. ///////////////////////////////////génération de checkbox//////////////////////////////
  21.  while($data = mysql_fetch_array($ret2)) {
  22.   echo "<li>";
  23.   echo "<INPUT type='checkbox' name='souscategorie[]' value='".$data['id']."'>".$data['nom_souscat']."<br>";
  24.   echo "</li>";
  25.  }
  26. /////////////////////////////////////////////////////////////////////////////////////////////
  27. echo "</ul>";
  28. }
  29. ?>
  30. <h3>Envoi d'une image</h3>
  31. <input type="hidden" name="MAX_FILE_SIZE" value="<? echo 5000*1024;?>">
  32. <input type="file" name="fic">
  33. <table>
  34. <th colspan="2">Formulaire de contact</th>
  35. <tr><td>Nom du produit : </td><td><input name="nom" type="text" size="50"></td></tr>
  36. <tr><td>Poids : <td><input name="poids" type="text" size="50"></td></tr>
  37. <tr><td>Prix : <td><input name="prix" type="text" size="50"></td></tr>
  38. <tr><td>Quantite <td><input name="quantite" type="text" size="50"></td></tr>
  39. <tr><td>Description</td><td><textarea name="texte" cols="40" rows="10"></textarea></td></tr>
  40. <tr id="nepasimprimer"><td><input name="annuler" type="reset" value="Annuler"></td><td><input name="soumettre" type="submit" value="Envoyer"></td></tr>
  41. </table>
  42. </form>
  43. </body>
  44. </html>
 

verif_form.js

Code :
  1. function verif_ajout_produit(ch) {
  2. for(i=0;i<ch.length;i++){
  3. if(!ch[i].checked){
  4. alert("Veuillez selectionner une ou plusieurs sous-categories, svp" );
  5. return false;
  6.     }
  7. }
  8.     if(document.formulaire.nom.value == "" )  {
  9.    alert("Veuillez selectionner un nom, svp" );
  10.    document.formulaire.nom.focus();
  11.    return false;
  12.   }
  13. else if(document.formulaire.poids.value == "" )  {
  14.    alert("Veuillez entrer un poids, svp" );
  15.    document.formulaire.poids.focus();
  16.    return false;
  17.   }
  18.    else if(document.formulaire.prix.value == "" )  {
  19.    alert("Veuillez entrer un prix, svp" );
  20.    document.formulaire.prix.focus();
  21.    return false;
  22.   }
  23.     else if(document.formulaire.quantite.value == "" )  {
  24.    alert("Veuillez entrer une quantité, svp" );
  25.    document.formulaire.quantite.focus();
  26.    return false;
  27.   }
  28.    else if (isNaN(document.quantite.cp.value) == true){
  29. alert("Une quantite ne peut pas contenir de lettres" );
  30. return false;
  31. }
  32. else if(document.formulaire.texte.value == "" )  {
  33.    alert("Veuillez entrer une description, svp" );
  34.    document.formulaire.texte.focus();
  35.    return false;
  36.   }
  37. return true
  38. }


Message édité par mule_panda le 09-03-2007 à 23:42:59
mood
Publicité
Posté le 08-03-2007 à 21:28:34  profilanswer
 

n°1526059
jagstang
Pa Capona ಠ_ಠ
Posté le 08-03-2007 à 21:40:09  profilanswer
 

!ch[i].checked plutôt


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1526067
mule_panda
Posté le 08-03-2007 à 22:07:06  profilanswer
 

J'ai modifié le script, mais cel ane change rien,  :cry: , je pense que sa vien du faite que mes checkboxe sont dans une variable de tableau

Code :
  1. souscategorie[]

 :??:

n°1526219
mule_panda
Posté le 09-03-2007 à 10:32:11  profilanswer
 

:??:

n°1526232
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-03-2007 à 10:37:44  profilanswer
 

c'est quoi atleastone? tu t'en sers nulle part!
Et le alert après le return false risque pas de marcher :o

n°1526674
mule_panda
Posté le 09-03-2007 à 23:45:27  profilanswer
 

J'ai modifié le script suivant tes conseils, mais il ne fonctionne toujours, pas. en enlevant la fonction de controle des case a coché il fonctionne trés bien. mais il pert de son interet.  :heink:

n°1526692
Shinuza
This is unexecpected
Posté le 10-03-2007 à 06:03:24  profilanswer
 

Ta fonction ne fonctionnera pas, simplement parce qu'elle vérifie que TOUTES les cases sont cochées. En testant tu l'aurais remarqué.
 

Code :
  1. <script type="text/javascript">
  2.  // <![CDATA[
  3.   function verif_ajout_produit(ch) {
  4.    var j = 0;
  5.    for(i=0;i<ch.length;i++){
  6.     if(ch[i].checked) {
  7.      j++;
  8.     }
  9.    }
  10.    if(j == 0){
  11.      alert("Veuillez selectionner une ou plusieurs sous-categories, svp" );
  12.      return false;
  13.     }
  14.   }
  15.  // ]]>
  16.  </script>


 
Cela fonctionnera mieux.
 
Dans un deuxième temps, y'a enormément de trucs à corriger dans ta page
 
Rien que pour l'ergonomie, utilise
 

Code :
  1. echo '<p><input type="checkbox" name="souscategorie[]" id="',$data['id'],'" value="',$data['id'],'"><label for="',$data['id'],'">',$data['nom_souscat'],'</label></p>';


 
Qui sera plus optimisé, et surtout plus ergonomique, dans la mesure ou pour cocher une case un clic que le texte associé suffit (le texte dans le label)
 
Et puis j'ai pas compris l'intéret de :
 

Code :
  1. value="<? echo 5000*1024;?>"


 
 
Ca fait 5120000, quel est l'interêt de le faire calculer à php?


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1526752
mule_panda
Posté le 10-03-2007 à 12:16:21  profilanswer
 

jte remercie beaucoup shinuza, pour ton aide si matinale  :jap: , et je remercie aussi les autre personne pour le temps passé sur le probléme.
 
shinuza = pour le 5000*1024, c'est que j'ai récupéré un ancien script et j'ai pas prit le temps de l'optimisé. sinon pour le checkbox avec label, super idée, jte remerci encore.

n°1526764
Shinuza
This is unexecpected
Posté le 10-03-2007 à 12:43:43  profilanswer
 

Pas de quoi ;)

 

Y'a peu être une manière plus propre de proceder pour les checkbox, il me semble que ça génere un tableau de données, mais je ne suis pas sur


Message édité par Shinuza le 10-03-2007 à 12:44:50

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

  Verification checkbox, javascript

 

Sujets relatifs
Besoin d'Aide LotusScript (proche javascript)fonction javascript qui regroupe 2 pages html
getURL("Javascript.... et include[Javascript/PHP] Recadrer une photo
Syntaxe javascript correcte?Quelqu'un peut-il comprendre ce javascript??
javascript: ecrire ou lire un cookie en mémoirephp et javascript
Plus de sujets relatifs à : Verification checkbox, javascript


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