comment récupérer des variables dans...

comment récupérer des variables dans... - HTML/CSS - Programmation

Marsh Posté le 28-05-2008 à 15:35:21    

bonjour a ts,
mon problème consiste a afficher un msg d'erreur si vous saisissez deux champs avec les même valeurs, je ne sais pas comment récupérer les variables dans les inputs avec javascript qui ont les meme noms  
quelqu'un peut m'aider SVP?
Voila un exemple:

Code :
  1. <script>
  2. function Test(nb)
  3. {
  4.    /*
  5.       ici je ne sais pas quoi faire pour récupérer les variable mail puisque les noms change dans la boucle.
  6.          d'habitude je fait : document.formulaire.mail.value; et ça marche mais la les nom changes alors je peut pas       
  7.          j'avais une idée de récupérer ces variables dans une boucle ici mais je ne sais pas comment faire!
  8. for(i=1;i<nb;i++)
  9. document.formulaire.mail_[i].value ???
  10.    */
  11. }
  12. </script>
  13. <form method="post" name="formulaire">
  14. <select name="nb" onchange="this.form.submit()">
  15. <option name="un">1</option>
  16. <option name="de">2</option>
  17. <option name="troi">3</option>
  18. <option name="quat">4</option>
  19. </select><br/>
  20. <?php
  21. for($i=1;$i<=$_POST['nb'];$i++)
  22. {
  23. ?>
  24. <input type="text" name="mail_<?php echo $nb;?>"/><br/>
  25. <?php
  26. }
  27. ?>
  28. <input type="submit" value="Valider" onclick="return Test(<?php echo $_POST['nb'];?> )"/>
  29. </form>


Message édité par manchester23 le 28-05-2008 à 17:05:27
Reply

Marsh Posté le 28-05-2008 à 15:35:21   

Reply

Marsh Posté le 28-05-2008 à 17:03:17    

Personne ne connais une solution?!!!

Reply

Marsh Posté le 28-05-2008 à 17:09:46    

tu fait une double bouche javascript, utilise des id pour identifier tes champs
 

Code :
  1. for(i=0;i<nbtotal;++i){
  2.    for(i=0;i<nbtotal;++i){
  3.    if(document.getElementById(i).value==document.getElementById(j).value)alert("erreur" );
  4.    }
  5. }


a toi d'optimiser le script aprés

Reply

Marsh Posté le 29-05-2008 à 01:22:03    

for(i=0;i<nbtotal;++i){
   for(j=0;j<nbtotal;++j){
 
ça doit être mieux avec le j =)

Reply

Marsh Posté le 29-05-2008 à 09:05:41    

ouais désolé j'ai oublie de changer

Reply

Marsh Posté le 29-05-2008 à 09:17:15    

Bonjour,
 
Tu peux récupérer tes input comme ça :

Code :
  1. <?php
  2.   $nb = (isset($_POST['nb'])) ? $_POST['nb'] : 0;
  3. ?>
  4. <html>
  5.   <head>
  6.     <script type = "text/javascript">
  7.       function Test(formulaire)
  8.       {
  9.         var nb = <?php echo $nb; ?>;
  10.         var i = 0;
  11.         while (i < nb)
  12.         {
  13.           var valeur = formulaire.elements['mail[]'][i].value;
  14.           alert(valeur);
  15.           i ++;
  16.         }
  17.         //-- les traitements ---------------------
  18.         return false;
  19.       }
  20.     </script>
  21.   </head>
  22.   <body>
  23.     <form method="post" name="formulaire" onsubmit="return Test(this)">
  24.       <select name="nb" onchange="this.form.submit()">
  25.         <option name="un">1</option>
  26.         <option name="de">2</option>
  27.         <option name="troi">3</option>
  28.         <option name="quat">4</option>
  29.       </select><br/>
  30.       <?php
  31.         $i = 0;
  32.         while ($i < $nb)
  33.         {
  34.       ?>
  35.       <input type="text" name="mail[]"/><br/>
  36.       <?php
  37.           $i ++;
  38.         }
  39.       ?>
  40.       <input type="submit" value="Valider" />
  41.     </form>
  42.   </body>
  43. </html>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed