javascript et php - formulaire dynamique

javascript et php - formulaire dynamique - PHP - Programmation

Marsh Posté le 06-01-2005 à 18:53:08    

Bonjour @ toutes et à tous,
 
Je ne suis pas un féru de javascript (je me reconnais beacoup de difficultés avec cette syntaxe) et je dois intégrer quelques tests pour valider un formulaire généré en php.
 
je construis un formulaire après requêtes dans plusieurs tables
Celui-ci affiche une checkbox parent sur une ligne
Ainsi que des checkbox enfants accompagnées de deux champs textes par ligne.
Tous ces champs possèdent donc un nom dynamique.
Ayant posé une première question dans le forum (php), les réponses m'ont amené à insérer un javascript permettant à la checkbox parent si elle est cochée, de cocher toutes les checkbox enfants correspondant.
- 1er hic le script fonctionne lorsque l'on coche la check parent, une fois décochée les enfants restent cochées !
- 2nd hic, l'utilisateur final a des nouveaux besoins :
si une checkbox enfant est décochée mais que le champs texte situé à ses côtés est lui remplis, alors cette checkbox doit être cochée.
dans le même temps si la checkbox enfant est cochée alors la checkbox parent doit être cochée.
--  
Le script dont je dispose n'est pas long et si toutefois l'un ou l'une d'entre vous semble entrevoir une solution simple de par ces connaissances, je serai preneur de quelques explications et aide généreuse.
d'avance merci de votre aide

Reply

Marsh Posté le 06-01-2005 à 18:53:08   

Reply

Marsh Posté le 06-01-2005 à 20:18:44    

1) ben tu décoches les enfants suivant le même principe que celui que tu utilises pour les cocher, je vois pas le problème là ?
2) avec un évenement sur le champs texte qui vérifie s'il est vide ou pas et coche la checkbox en fonction ?
3) si "doit être", alors je rendrais les enfants inutilisables tant que le parent n'est pas coché. Ou même genre de script que le 1, au choix
4) Pas la bonne catégorie...

Reply

Marsh Posté le 07-01-2005 à 17:39:16    

Au vue de ta réponse, ça te semble facile, pour ma part ça l'est beacoup moins, et pour cause :  j'ai troqué mes deux moufles contres des gants à trois doigts, il m'en manque toujours deux à l'appel !!!  :D  
 
Bon : voila le javascript
function chbx(test,valeur)  
{ if(test){ rubrique=false;  
   for(i=0;i<document.forms.elements.length;i++){  
      if(document.forms.elements[i].name=="categorie[]" )  
      if(document.forms.elements[i].value==valeur)
   {rubrique=true;}else{rubrique=false;}    
      if(rubrique && document.forms.elements[i].name=="rubrique[]" )  
         document.forms.elements[i].checked=true;}
   }  
}
 
voila mes objets :  
while($lIDCAT=mysql_fetch_array($rsIDCAT))
{$id_categorie=$lIDCAT['id_categorie'];  
... parent ...
<input name="categorie[]" value="<? echo $id_categorie;?>" type="checkbox" onClick="chbx(this.checked,this.value)">
... enfant ...
while($lIDRUB=mysql_fetch_array($rsIDRUB))
{$id_rubrique=$lIDRUB['id_rubrique'];  
...
<td><input name="rubrique[]" value="<? echo $id_rubrique;?>" type="checkbox"></td>
<td><input name="<? echo "montant".$id_rubrique;?>" type="text" value=""></td>
<td><input name="<? echo "obs".$id_rubrique;?>" type="text" value=""></td> ...
---
Le hic pour moi c'est que pour identifier un objet avec javascript, je me prends la tête, je ne percois pas l'algo et encore moins comment opérer.
Actuellement, le script en cas de décoche du parent, ne décoche pas les enfants !! déjà ça même après lecture du code, je ne percçois pas ou est le hic car il me semble qu'il test les deux cas coché et décoché pour les enfants !!

Reply

Sujets relatifs:

Leave a Replay

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