logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [Javascript] textarea et onclick
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [Javascript] textarea et onclick  (Lu 2882 fois)
Ss2K
Profil challenge

Classement : 7107/54314

Néophyte
*
Hors ligne Hors ligne
Messages: 32


Voir le profil
« le: 08 Septembre 2009 à 12:56:34 »

Bonjour,
je suis entrain de faire un planning avec un formulaire pour ajouter des entrées. Le but est que quand on clique sur une case le formulaire soit prerempli avec les valeurs de la base de données. ca marche pour les menus deroulants mais pour le textarea ca coince !

je voudrais modifier une balise textarea declarée comme suit :
Code:
<textarea id="note" value=""></textarea>

à l'aide d'un onclick, j'ai donc fait les fonctions javascript suivantes :
Code:
function grip1(objet,id,txt){
      var obj = document.getElementById(objet.id)
      document.forms["Base"].elements["Heure"].value = obj.id
      document.forms["Base"].elements["Moniteur"].value = id
     document.forms["Base"].elements["note"].value = txt
}

function grip2(objet,id){
  var obj = document.getElementById(objet.id)
    document.forms["Base"].elements["Heure"].value = obj.id
    document.forms["Base"].elements["Moniteur"].value = id
}

que j'appelle comme ceci :
Code:
 if($note!="")
   echo"<tr><td id='7' bgcolor='$col' height='30px' onclick='javascript:grip1(this,$id_mono,".$note.");'>";
 else
   echo"<tr><td id='7' bgcolor='$col' height='30px' onclick='javascript:grip2(this,$id_mono);'>";
mon problème est que quand la fonction grip2 est appelée ca marche tres bien, mais la fonction grip1 ne fonctionne pas
Ca fait quelques jours que je butte la dessus donc si quelqu'un peut me dire ce qui cloche ce serait cool
« Dernière édition: 14 Novembre 2009 à 01:08:23 par the lsd » Journalisée

Si TOUT est VRAI alors TOUT est FAUX ! ( _TT-o )
Enjoy !
_o_
Relecteur

Profil challenge

Classement : 42/54314

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #1 le: 08 Septembre 2009 à 13:18:55 »

que j'appelle comme ceci :

Si c'est un problème d'exécution du javascript, il vaudrait mieux présenter un exemple de code HTML généré, plutôt que du PHP.

Citation
la fonction grip1 ne fonctionne pas

Quel navigateur ? Quelle version ? Quel OS ? Que dit la console d'erreur javascript ?
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Ss2K
Profil challenge

Classement : 7107/54314

Néophyte
*
Hors ligne Hors ligne
Messages: 32


Voir le profil
« #2 le: 08 Septembre 2009 à 13:33:17 »

Je suis sur Ubuntu et je fais mes test avec mozilla firefox v3.0.13 quand au code généré en voici une partie :
Code:
<tr><td id='7' bgcolor='grey' height='30px' onclick='javascript:grip1(this,2,gdftdritdu);'>norris chuck </br>heure</td></tr>
<tr><td id='8' bgcolor='white' height='30px' onclick='javascript:grip2(this,2);'></td></tr>
le $note de tout à l'heure correspond bien a gdftdritdu du coup je ne comprends pas pourquoi mon la zone de texte ne prends pas cette valeur.
Hum en y regardant de plus pres il me dit que gdftdritdu n'est pas defini si je clique sur la case
« Dernière édition: 08 Septembre 2009 à 13:38:36 par Ss2K » Journalisée

Si TOUT est VRAI alors TOUT est FAUX ! ( _TT-o )
Enjoy !
_o_
Relecteur

Profil challenge

Classement : 42/54314

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #3 le: 08 Septembre 2009 à 13:58:19 »

le $note de tout à l'heure correspond bien a gdftdritdu du coup je ne comprends pas pourquoi mon la zone de texte ne prends pas cette valeur.Hum en y regardant de plus pres il me dit que gdftdritdu n'est pas defini si je clique sur la case

Logique : il manque des quotes dans ton source PHP pour que gdftdritdu soit considéré par javascript comme une chaine et pas comme une variable (et il faut protéger parce que tu es déjà dans une série de quotes (c'est la fête des échappements)). Pas testé, mais devrait être sur le bon chemin :
echo"<tr><td id='7' bgcolor='$col' height='30px' onclick='javascript:grip1(this,$id_mono,\'".$note."\');'>";

Ou, peut-être plus simple : echo"<tr><td id='7' bgcolor='$col' height='30px' onclick='javascript:grip1(this,$id_mono,\"$note\");'>";
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Ss2K
Profil challenge

Classement : 7107/54314

Néophyte
*
Hors ligne Hors ligne
Messages: 32


Voir le profil
« #4 le: 08 Septembre 2009 à 14:51:19 »

ok je te remercie maintenant ca marche !
la solution c'etait :
Code:
grip1(this,$id_mono,\"$note\");
Journalisée

Si TOUT est VRAI alors TOUT est FAUX ! ( _TT-o )
Enjoy !
Pages: [1]
  Imprimer  
 
Aller à: