Listes liées avec la librairie prototype [HTML/Css/Javascript] - HTML/CSS - Programmation
Marsh Posté le 22-12-2009 à 15:57:11
verifie ton fichier 2nd select, peu importe l'option il ecrit rien
sinon ca a l'air bien parti
Marsh Posté le 22-12-2009 à 17:17:12
Le fichier remplir2ndselect.php en lui même fonctionne: si je le teste à part, il me sort bien les valeurs qu'il faut.
Il y a un souci avant: quand on arrive dans ce fichier remplir2ndselect.php, la variable 'tb1' n'est pas passée par la méthode get.
Il y a un souci après: les valeurs ne sortent pas de ce remplir2ndselect.php ne parviennent pas jusqu'à la deuxième balise select.
Bref, ça coince.
Marsh Posté le 22-12-2009 à 17:21:44
non
quand j'ouvre ca
http://gambetta.cahors.free.fr/exe [...] ct.php?tb1
ca rend rien
faut faire
?type=tb1
echo $_GET['type']
te rendra 'tb1'
Marsh Posté le 22-12-2009 à 17:44:19
Si je tape ça: http://gambetta.cahors.free.fr/exe [...] php?tb1=6A
ça me renvoie: TOTO TUTU qui sont les 2 valeurs à mettre dans le select.
Citation : faut faire |
Où ça? Comprends pas.
Marsh Posté le 22-12-2009 à 18:16:20
oui la c'est bon, mais ta requete n'envoie rien ca envoie
http://gambetta.cahors.free.fr/exe [...] ct.php?tb1
nul part tu lui dis de rendre 6A ou 6B
faut que dans ta fonction tu recureres le value du select
Marsh Posté le 22-12-2009 à 18:34:47
Citation : faut que dans ta fonction tu recureres le value du select |
Il me semblait que c'est ce que je faisais, puisque j'écris quelque chose qui ressemble à ça:
var myAjax = new Ajax.Updater( 'emplacement' , 'remplir2ndselect.php' { method: 'get', parameters: 'tb1' } );
'emplacement' est l'id qui va recevoir le résultat.
'remplir2ndselect.php' est le fichier qui est appelé et qui va être executé.
{ method: 'get', parameters: 'tb1' } indique que le paramètre (ou variable ?) qui va être transmis par la méthode get est 'tb1'.
Non?
Marsh Posté le 22-12-2009 à 18:41:11
non la ca ta met rien
pas sur sur mais va falloir faire un truc du style
Code :
|
Marsh Posté le 22-12-2009 à 18:52:36
j'ai essayé ça:
function requete_ajax() {
var parametres = 'tb1=' + document.getElementbyId('tb1').value;
var myAjax = new Ajax.Updater( 'emplacement' , 'remplir2ndselect.php' { method: 'get', parameters: parametres } );
}
Mais sans résultat.
Marsh Posté le 22-12-2009 à 19:23:22
ouai, faut que tu trouve la fonction pour recuperé la valeur de ton select
document.getElementbyId('tb1').value te renvoi ton champs deja ?
sinon y'a avec document.forms aussi
a toi de voir dans firebug les valeur de tout ca, de la recupere et de l'envoyer
Marsh Posté le 22-12-2009 à 20:42:56
J'ai essayé de voir ce que faisait firebug.
Voilà le 1er bug rencontré:
Je suis perplexe...
Marsh Posté le 22-12-2009 à 21:19:29
Ca avance!!!
Voilà où j'en suis:
La fonction n'a, à priori, plus à être retouchée.
Ensuite, dans les paramètres, il ne fallait pas mettre 'tb1=' mais au contraire prendre une nouvelle variable, et lui affecter la valeur de tb1.
Code :
|
C'est au niveau du remplissage du 2nd select que ça foire.
Code :
|
Cela renvoie les valeurs espacées par un espace.
C'est la mise en forme dans le select du prog principal qui merde:
Code :
|
Marsh Posté le 22-12-2009 à 21:28:35
faut affiche les options apres
par contre ton truc pour allé cherché les données c'est vraiment pa terrible
on utilise fetch
Code :
|
autre question t'a quel version de PHP ?
Marsh Posté le 22-12-2009 à 21:52:26
Je viens d'utiliser ceci, et CA MARCHE!
Code :
|
Par rapport à ce que tu viens d'écrire, en quoi c'est différent?
Sinon, en local, j'utilise wamp 2.0i, donc php 5.x
Marsh Posté le 22-12-2009 à 21:56:24
c'est plus claire,
et sinon
Code :
|
ca sert a rien
et sur ton serveur ca sera quoi comme version de php ?
Marsh Posté le 22-12-2009 à 21:58:33
Exact pour mes 5 lignes... c'était juste pour me repérer par rapport à un autre tuto.
Sur mon serveur, ce sera chez Free.
Sinon, ARGhhh Ca ne fonctionne pas avec IE !!!
Marsh Posté le 22-12-2009 à 22:01:42
je pense que ca vien du
getElementById
essaye de faire un alert (zik !!!) voir ce que ca donne et si ca rend bien le value
sinon pourquoi avoi rajouter window avant document ?
Marsh Posté le 22-12-2009 à 22:08:39
le window avant, c'était juste un essai pour être sur. Cela ne sert à rien en effet.
Le alert sous FF renvoie la bonne valeur (on s'en serait douté)
Mais il ne renvoie rien sous IE
Marsh Posté le 22-12-2009 à 22:19:15
J'ai aussi essayé ça:
var valeur =document.socle['tb1'].value;
Ca marche sous FF, mais pas sous IE (le alert ne renvoie rien)
Marsh Posté le 23-12-2009 à 17:40:38
On va cloturer ce post, car le 1er problème est résolu, à savoir utiliser prototype. (c'est ok sous FF)
Je vais ouvrir un 2nd post pour voir ce qui cloche entre le document.getElementById et IE
Marsh Posté le 22-12-2009 à 15:20:27
Bonjour,
Ne parvenant pas à me débrouiller avec les requêtes ajax, j'ai essayé de suivre des tutos utilisant la librairie prototype.
Ce que je veux, c'est faire 2 listes liées dynamiquement.
Donc un premier select, qui amène à faire une requete ajax, qui amène sur un fichier php utilisant la valeur du 1er select, et renvoie une valeur à mettre dans le 2nd select.
Voilà ce que ça donne:
http://gambetta.cahors.free.fr/exemple/
C'est à dire pas grand chose!
J'ai l'impression qu'il y a 2 soucis:
- le premier: la valeur choisie dans mon premier select n'est pas transmise dans le fichier .php
- le second: le résultat n'est pas transmis dans le 2nd select.
J'ai fait un paquet des qq fichiers de mon prog:
http://gambetta.cahors.free.fr/exemple/exemple.rar
En voici qq extraits:
Le form dans le fichier principal index.php
Ma fonction requete_ajax:
Et le fichier php pour remplir le 2nd select:
Help
Message édité par fabulon le 23-12-2009 à 18:27:23