Affichage dans champs selon choix liste déroulante sans bouton
kifouillou
Messages postés170Date d'inscriptionmardi 27 septembre 2005StatutMembreDernière intervention28 janvier 2011
-
4 avril 2008 à 16:28
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
10 avril 2008 à 08:13
Bonjour
j'ai réalisé un petit formulaire dans lequel j'ai une petite liste déoulante.
Lorsque l'utilisateur sélectionne un choix dans la liste, tous les renseignements liés à ce choix dans la base de donnée s'affiche dans des champs prévus à cet effet.
Mais mon problème c'est que cela ne fonctionne pas. Rien ne se passe.
Voici mon code :
$sql2 = "Select * from k2prjtache ";
$Q2 = mysql_query($sql2);
if (! $Q2 ) DbError($sql2);
$R2 = mysql_fetch_array($Q2);
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 5 avril 2008 à 10:41
Bonjour,
>>onchange="document.getElementById('form_superviseur');"
ça, à part "rechercher" l'ID 'form_superviseur', ça ne fait rien.
>>les choses comme $R2[tache_description]...
doivent être dans un echo coté php, non ?
sinon, ça ne donnera rien, mais dans ce cas tu dois avoir
des soucis avec les " et les ' ....
>>ça ne fonctionne pas...
peut-être y a-t-il d'autres choses, mais réglons d'abord les 2 1ers points
et si tu nous postes quelque chose, met nous la page html résultatnte
( enfin... UN PETIT EXTRAIT, ce qu'il faut mais pas plus )
sinon comment on devine le contenu des $variables php,
de la base de données.... hein ?
kifouillou
Messages postés170Date d'inscriptionmardi 27 septembre 2005StatutMembreDernière intervention28 janvier 2011 7 avril 2008 à 10:51
salut,
merci pour ta réponse. Pour les <?php echo, ce qui est bien c'est que j'ai pas besoin de les mettre car gràce à une petite instruction. Donc au niveau des guillemets je pense qu'il n'y a pas de souci.
Pour le onchange, je dois rajouter quelque chose? Sinon pour la page html résultante i c'est une copie d'écran que tu veux ?
Car ben c'est un formulaire avec une liste déroulante dont le contenu est dans $tache_nom.
Et ben les autres éléments sont vide tant qu'il n' y a rien de sélectionner dans la liste déroulante. Mais dans mon exemple même si un élément est sélectionné, tout ce qui y est rattaché n'est pas affiché dans les différents champs.
Voilà. J'espère que c'est ce que tu voulais.
Encore merci
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 7 avril 2008 à 11:20
>>Pour le onchange, je dois rajouter quelque chose?
ben... ce que tu veux y faire !
pour l'instant tu y fais : onchange="document.getElementById('form_superviseur');"
et qu'est-ce que ça fait ça ? rien !
>> Sinon pour la page html résultante i c'est une copie d'écran que tu veux ?
ben non....
tu exécutes ton php, une page s'affiche sur le micro,
la copie que tu nous met ici je pense,
visualises la source, IE : Affichage / Source, FF Affichage / Code Source...
tu l'as dans un éditeur de texte, sauvegarde, fais en UN PETIT EXTRAIT,
tout ce qu'il faut MAIS pas plus.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 7 avril 2008 à 11:56
c'est mieux.... et, je me cite ? :
>>Pour le onchange, je dois rajouter quelque chose ?
ben... ce que tu veux y faire !
pour l'instant tu y fais : ...onchange="document.getElementById('form_superviseur');"...
et qu'est-ce que ça fait ça ? rien !
<hr /> Cordialement Bul [mon Site] [M'écrire]
kifouillou
Messages postés170Date d'inscriptionmardi 27 septembre 2005StatutMembreDernière intervention28 janvier 2011 7 avril 2008 à 12:18
ben il est la problème. Je sais qu'à la sélection d'un élément de ma liste cela affiche les infos dans mon formulaire.
J'ai donc essayé cela : onchange="document.getElementById('form_superviseur').selectedIndex;"
mais cela ne change rien non plus. Est-ce que c'est quand même juste? Sinon je sais pas trop quoi mettre d'autre. Et dois-je mettre quelque chose aussi dans mes différents champs autre que le $R[nom]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 7 avril 2008 à 12:46
>>onchange="document.getElementById('form_superviseur').selectedIndex;"
>>mais cela ne change rien non plus.
ben oui.... tu ne fais toujours rien....
document.getElementById('form_superviseur').selectedIndex;
ça doit donner le n° de ligne de l'option sélectionnée... rien de plus.
mais qu'en fais-tu ? rien !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 7 avril 2008 à 16:29
pour t'aiguiller... un peu...
en simplifiant :
et tu fais document.getElementById(""ex").value
certes... mais tu en fais quoi ce ce .value ? rien ! donc rien ne se passe.
si tu faisais je_ne_sais_pas_quoi=document.getElementById(""ex").value;
et après cette ligne je_ne_sais_pas_quoi vaudrait "toto".
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 avril 2008 à 08:17
>>mais pour les données dans la base je fais comment?
??
les afficher ? tu le fais en php ( sauf ereur ? )
les mettre à jour ? transfert formulaire ==> script php; qui le fera
<hr /> Cordialement Bul [mon Site] [M'écrire]
kifouillou
Messages postés170Date d'inscriptionmardi 27 septembre 2005StatutMembreDernière intervention28 janvier 2011 8 avril 2008 à 15:56
salut,
là je dois avouer que je galère à fond.
Sinon ce qui m'embête c'est que en mettant le $R dans le value de mon champs,
il s'affiche dès le départ même si aucune valeur n'est sélectionner. De
plus j'ai une erreur javascript généré par firebug à chaque fois que je
clique sur un choix de ma liste déroulante :
<!-- BEGIN TEMPLATE: bbcode_quote -->
object is not defined
onchange(change )
ci-dessous le code ma fonction.
function charge_form(object)
{
if(objet.value)
{
var tabvaleur = objet.value;
for (var i in tabvaleur)
{
kifouillou
Messages postés170Date d'inscriptionmardi 27 septembre 2005StatutMembreDernière intervention28 janvier 2011 9 avril 2008 à 16:32
Salut,
Bon je me complique plus la tache. J'ai décidé de faire du ajax. On ma dit que si j'avais beaucoup d'éléments dans ma liste déroulante c'était mieux.
J'ai essayé un truc du genre :
function charge_form(param)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}
var content = document.getElementById("tache_description");
var content2 = document.getElementById("tache_temps");
var content3 = document.getElementById("tache_date");
var content4 = document.getElementById("tache_rem");
var content5 = document.getElementById("tache_developpeur_assigne");
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 avril 2008 à 08:13
>>on je me complique plus la tache.
pas trop... mais un peu quand même,
comme le problème n'est pas là, tu ne fais qu'en rajouter quoi...
>>Mais hélas cela ne fonctionne toujours pas.
si tu n'as rien changé d'autres, pas rectifié ce dont je te parlais....
c'est normal.
tu changes de "technologie" sans modifier l'essentiel : ce qui ne fonctionne pas.
relis ce que je te disais.