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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Transmettre nom de champ PHP à une fonction JS ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transmettre nom de champ PHP à une fonction JS ?

n°1334357
Odin34
Posté le 29-03-2006 à 09:21:26  profilanswer
 

Bonjour,
 
Voici mon souci.
 
Je viens d'écrire un script qui me permet d'affichier un tableau de dependances entre LEVEL. Dans mon cas se sont des LEVEL d'archivages.
 
Ex:
 
Level1
- Sous Level2
-- Sous Level3
--- Sous Level4
 
Chaque nom de Level est précédée d'une ckeckbox. Le nom de cette checkbox est la concaténation de SET_LEVEL + ID du level en base.
 
Pour facilter les choix et valider les saisies je veux qui si l'on coche par exemple un level3, les levels 1 et 2 dépendants soient cochés (idem en décochant).
 
J'arrive à faire marcher ça en statique. Je bloque sur la transmission du nom de champ vers ma fonction JS.
 

Code :
  1. <SCRIPT language="javascript">
  2. function Check_Parent() {
  3. document.main.NOM_CHAMP.checked=1;
  4. }
  5. </script>


 
Une idée ?
 
Merci de votre aide.
 

mood
Publicité
Posté le 29-03-2006 à 09:21:26  profilanswer
 

n°1334401
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2006 à 10:38:20  profilanswer
 

j'utiliserais les fonctions dom, avec une bonne fonction recursive, un truc du genre

Code :
  1. function checkAllParent(node){
  2. if( node.parentNode.firstChild.tagName == 'input' && node.parentNode.firstChild.getAttribute('type') == 'checkbox'){
  3. node.parentNode.firstChild.getAttribute('checked', 'checked');
  4. }
  5. checkAllParent(node.parentNode.firstChild);
  6. }


Bon la j'ai supposé que l'input du level supérieur était le premier fils de node parent, mais il faudrait voir le code html de ta page pour être sur de la fonction!!
 
edit: je vois pas ou tu as besoin de php la dedans!!! :o


Message édité par anapajari le 29-03-2006 à 10:41:25
n°1334456
Odin34
Posté le 29-03-2006 à 11:20:11  profilanswer
 

merci de ta réponse.
 
 
En fait je parlais de PHP car mes mes noms de champs sont des variables.
Connaissant forcément les parents d'une checkbox je cherche à cocher ces boites avec une fonction JS prenant en parametre mes noms de champ.
 
Ex:
En arrivant sur un level 3 qui a pour nom SET_LEVEL_80 (SET_LEVEL_$ID) je sais que le pere niveau 2 est le 60 et le pere niveau 1 est le 40.
C'est ici que je fais appel à la fonction en lui donnant mes variables php péres en argument.
 
Le fonction se contente de cocher les elements passés en argument.
 
J'espère que je suis clair bien que j'en doute ;) ??
 
 
 

n°1334491
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2006 à 11:55:20  profilanswer
 

Odin34 a écrit :

merci de ta réponse.
 
 
En fait je parlais de PHP car mes mes noms de champs sont des variables.
Connaissant forcément les parents d'une checkbox je cherche à cocher ces boites avec une fonction JS prenant en parametre mes noms de champ.
 
Ex:
En arrivant sur un level 3 qui a pour nom SET_LEVEL_80 (SET_LEVEL_$ID) je sais que le pere niveau 2 est le 60 et le pere niveau 1 est le 40.
C'est ici que je fais appel à la fonction en lui donnant mes variables php péres en argument.
 
Le fonction se contente de cocher les elements passés en argument.
 
J'espère que je suis clair bien que j'en doute ;) ??


Non pas super clair :o en même temps avec tout le code ça serait plus facile...
Mais encore une fois je vois pas trop pourquoi tu aurais besoin d'utiliser php pour generer les variables d'une fonction javascript (bien que ça soit tout a fait possible).
 
Perso j'aurais fait un truc dans le genre:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  4. <head>
  5.   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.   <title>Test</title>
  7.   <script type="text/javascript">
  8.   function checkAllParent(node){
  9.     if ( node == null || node.parentNode == null){ return true;}
  10.     var input=node.parentNode.getElementsByTagName('input');
  11.     for(var i=0;i<input.length; i++){
  12.       if( input.item(i).tagName == 'INPUT' && input.item(i).getAttribute('type') == 'checkbox'){
  13. input.item(i).setAttribute('checked', 'checked');
  14.         break;
  15.       }
  16.     }
  17.     checkAllParent(node.parentNode);
  18.   }
  19.   </script>
  20.   <style type="text/css">
  21.   .lvl1{ margin-left: 10px;}
  22.   .lvl2{ margin-left: 20px;}
  23.   .lvl3{ margin-left: 30px;}
  24.   </style>
  25. </head>
  26. <body >
  27. <form method="post" action="tapage.php" >
  28. <div class="lvl1">
  29.   niveau 1:<input type="checkbox" name="ck20" onclick="checkAllParent(this.parentNode)"/>
  30.   <div class="lvl2">
  31.     niveau 1.1 :<input type="checkbox" name="ck40" onclick="checkAllParent(this.parentNode)"/>
  32.     <div class="lvl3">
  33.       niveau 1.1.1:<input type="checkbox" name="ck80" onclick="checkAllParent(this.parentNode)"/><br/>
  34.       niveau 1.1.2:<input type="checkbox" name="ck81" onclick="checkAllParent(this.parentNode)"/><br/>
  35.       niveau 1.1.3:<input type="checkbox" name="ck82" onclick="checkAllParent(this.parentNode)"/><br/>
  36.     </div>
  37.   </div>
  38.   <div class="lvl2">
  39.     niveau 1.2:<input type="checkbox" name="ck50" onclick="checkAllParent(this.parentNode)"/>
  40.     <div class="lvl3">
  41.       niveau 1.2.1:<input type="checkbox" name="ck70" onclick="checkAllParent(this.parentNode)"/><br/>
  42.       niveau 1.2.2:<input type="checkbox" name="ck71" onclick="checkAllParent(this.parentNode)"/><br/>
  43.     </div>
  44.   </div>
  45. </div>
  46. </form>
  47. </body>
  48. </html>


edit: ça marche que pour cocher mais l'idée est la!


Message édité par anapajari le 29-03-2006 à 11:56:04
n°1334498
Odin34
Posté le 29-03-2006 à 12:01:51  profilanswer
 

OK
je te remercie vraiment.
Je vais travailler dessus et l'adapter.
 
Merci


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

  Transmettre nom de champ PHP à une fonction JS ?

 

Sujets relatifs
Possible ou pas : Inserer une page PHP dans un FlashQui connait le PHP ??
[PHP] Prob requeteOracle PHP - create table
PHP - Oracle - create tableXSLT+PHP sous windows possible ?
fonction PHP imagesUn bon bouquin PHP OBJET
[ Résolu ] Passage de variable PHP > Flash 
Plus de sujets relatifs à : Transmettre nom de champ PHP à une fonction JS ?


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