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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Conflit entre deux formulaires simples.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conflit entre deux formulaires simples.

n°2030532
milou39
Posté le 19-10-2010 à 13:16:10  profilanswer
 

Bonjour,
 
Je vien solliciter votre aide car je bloque depuis deux jours sur un probleme et j'espere qu'un oeil avisé pourra m'éclairer.
Je vous explique en deux mots.
J'ai deux formulaires, le premier ici est fictif et me sert normalement a genérer une liste dans le deuxieme.  
Dans le deuxieme j'ai une liste de checkbox  dont une "maitre" qui me sert a cocher toutes les autres grace a un petit script.
Mon probleme est que le script ne marche pas, il n'est meme pas ateint lorsque le premier formulaire est présent.
Si je suprime le premier formulaire le script fonction et toute mes checkbox sont cocher lorsque je selection la checkbox "maitre".  
Avec le deux formulaire l'erreure généré lorsque je selectionne la box "maitre" est:
"document.form2.allChecked" a la valeur null...
 
Si quelqu'un pourrais regarder mon code et me dire ou est le conflit je lui en serait bien reconnaissant.
Merci,
 
 
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>inventaire</title>
       
 
<script type="text/javascript">
 //checkbox ou une liste de checkbox.
function selectallbox(cas,choix){alert('ok');
  //test si on a plusieur ligne
  if(choix.length>0){
    if (cas.checked){
      for (var i=0; i<choix.length;i++){
        choix[i].checked=true
      }
    }
    else{
      for (var i=0; i<choix.length;i++){
        choix[i].checked=false
      }
    }
  }
  else{
    if (cas.checked){
      choix.checked=true
    }
    else{
      choix.checked=false
    }
  }
}
   
 </script>        
     
   </head>
 
   <body>
   <div id="corps">
     
     
    <h3>Creation inventaire</h3>
    <form action="inventaire-test.html" method="post" name="form1">
    <select name="pays" id="pays" >  
    <option selected>...Choisissez un pays...</option>  
    <option>Tous</option>  
    <option>algerie</option>  
    <option>portugal</option>  
    <option>italie</option>
    <option>espagne</option>
    <option>autre</option>
    </select>  <br><br>
     
    <input type="submit" name="generer_choix" value="Generer choix"
 
  </form>
     <br><br>
   
   
   
 
   
  <div >  
  <form action="inventaire-test.html" method="post" name="form2">
    <br />
  <input type="checkbox" name="allChecked" onClick="selectallbox(document.form2.allChecked,document.form2.italie_baby)">
  <h3>italie-baby</h3>
   
    <input type="checkbox" id="italie_baby" name="valBox[]" value="502"><input type="text" value="italie-baby-b-xl" ><br>
    <input type="checkbox" id="italie_baby" name="valBox[]" value="505"><input type="text" value="italie-baby-b-s" ><br>
    <input type="checkbox" id="italie_baby" name="valBox[]" value="506"><input type="text" value="italie-baby-b-xs" ><br>
     
    <br><br>
  <input type="submit" name="generer_fichier" value="generer le fichier">
  </form>
  </div>
   
   
  <br><br>
   
   
       </div>
    </body>
</html>
 
 
 
   

mood
Publicité
Posté le 19-10-2010 à 13:16:10  profilanswer
 

n°2030667
milou39
Posté le 19-10-2010 à 20:52:36  profilanswer
 

Je tien a préciser qu'il n'y a que le code html a corriger, le script marche très bien, je l'ai mis pour ceux qui souhaiterais faire le teste chez eux.
Pour ma part c'est incomprehensible, le code me semble correcte, mais si quelqu'un aurais le moindre debut d'une idée ou une suggestion ça me serait vraiment utile.
Je vous remercie d'avance.

n°2030722
cetplus
Wazard dans l'ombre
Posté le 20-10-2010 à 03:32:50  profilanswer
 

Bonjour,
Je ne voudrais pas te décourager, mais ton code marche à merveille :
http://img818.imageshack.us/img818/7052/cdeom.jpg
@++

n°2030839
milou39
Posté le 20-10-2010 à 12:23:29  profilanswer
 

cetplus a écrit :

Bonjour,
Je ne voudrais pas te décourager, mais ton code marche à merveille :
http://img818.imageshack.us/img818/7052/cdeom.jpg
@++


 
Bonjour,
Je te remercie d'avoir pris le temps d'essayer chez toi.
Ca voudrait dire que ça vien de mon navigateur?  
j'utilise IE.8, es-ce que tu peut me dire avec quel navigateur tu a fait le teste stp?
Encore merci.

n°2030971
milou39
Posté le 20-10-2010 à 18:27:30  profilanswer
 

Bon et bien j'ai testé avec FireFox et effectivement ça marche.
EN fait mon probleme vien de l'identification de ma box "maitre" a cette ligne:
onClick="selectallbox(document.form2.allChecked,document.form2.italie_baby)"
 
Es-ce que quelqu'un connait la syntaxe correcte sous IE pour pointer un objet, en l'occurence là, ma box "maitre"?

n°2031055
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 21-10-2010 à 00:23:39  profilanswer
 

faut oublier l'écriture "document.form" ... et mettre un document.getElementById ...
A mon avis, tu devrais passer ça dans une fonction javascript.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°2031057
milou39
Posté le 21-10-2010 à 00:43:03  profilanswer
 

Merci NewsletTux,
Oui je crois que je vais essayer de faire ça parceque je ne trouve pas la solution a mon probleme et ça me rend dingue là.
Je déteste ces checkbox j'arriverai jamais a mis faire :)  
J'essaie de faire ça demain et je posterais le resultat si c'est concluant.
Encore merci,

n°2031297
milou39
Posté le 21-10-2010 à 23:28:03  profilanswer
 

C'est bon j'ai reussi a corriger le script.
C'es n'était pas possible d'accéder a mes checkbox via getElementById car l'id doit obligatoirement avoir un nom unique dans le document, du coup seul la premiere checkbox était pointée.
La seul façon que j'ai trouvé pour pointer l'ensemble des box est avec cette syntaxe:
 
Pour la box maitre:
onClick="selectallbox(this.form,this.value)"
 
Et pour dans le script je pointe mes box comme ceci:
var choix=f.elements["valBox[]"];
 
je met le script entier pour ceux que ça interesseraient, et merci pour votre aide.
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >  
   <head>  
       <title>inventaire</title>  
       
 
<script type="text/javascript">  
 //checkbox ou une liste de checkbox.  
function selectallbox(f,val){
  //test si on a plusieur ligne  
 
 var cas=document.getElementById('all'+val);
 var choix=f.elements["valBox[]"];
 
 
  if(choix.length>0){  
   
    if (cas.checked){  
      for (var i=0; i<choix.length;i++){  
   if (choix[i].id==val){
        choix[i].checked=true  
  }
   
      }  
    }  
    else{  
      for (var i=0; i<choix.length;i++){  
   if (choix[i].id==val){
        choix[i].checked=false  
  }
      }  
    }  
  }  
  else{  
    if (cas.checked){  
      choix.checked=true  
    }  
    else{  
      choix.checked=false  
    }  
  }  
}  
   
 </script>          
     
   </head>  
   
   <body>  
   <div id="corps">  
     
     
    <h3>Creation inventaire</h3>  
   <form action="inventaire-test.html" method="post" name="form1">  
    <select name="pays" id="pays" >  
    <option selected>...Choisissez un pays...</option>  
    <option>Tous</option>  
    <option>algerie</option>  
    <option>portugal</option>  
    <option>italie</option>  
    <option>espagne</option>  
    <option>autre</option>  
    </select>  <br><br>  
     
    <input type="submit" name="generer_choix" value="Generer choix"  
 
  </form>  
 
 
     <br><br>  
   
   
   
   
   
   
   
  <div >  
   
   
  <form action="inventaire-test.html" method="post" name="form2">  
    <br />  
 
 <input type="checkbox" name="allChecked" id="allitalie_baby" value="italie_baby" onClick="selectallbox(this.form,this.value)">
   
  <h3>italie-baby</h3>  
   
   
     
    <input type="checkbox" id="italie_baby" name="valBox[]" value="502"><input type="text" value="italie-baby-b-xl" ><br>  
    <input type="checkbox" id="italie_baby" name="valBox[]" value="505"><input type="text" value="italie-baby-b-s" ><br>  
    <input type="checkbox" id="italie_baby" name="valBox[]" value="506"><input type="text" value="italie-baby-b-xs" ><br>  
     
   
    <br><br>  
  <input type="submit" name="generer_fichier" value="generer le fichier">  
  </form>  
  </div>  
   
   
  <br><br>  
   
   
       </div>  
    </body>  
</html>  
 
 
 
 
 
 
 


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

  Conflit entre deux formulaires simples.

 

Sujets relatifs
Questions au sujet des formulairesplusieurs formulaires dans un tableau
[boost] Parsing de fichiers simples mais très grosaccess vba : acceder aux sous formulaires
Conflit entre deux .js[Resolu]Creer page avec formulaires
Perl - fonctions simples[FLASH] Lien dans anim flash conflit avec anim)
fonction initialisé valeurs formulaires rien ne se passeRecherche d'une solution pour gérer des données simples
Plus de sujets relatifs à : Conflit entre deux formulaires simples.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)