Problème de fonction javascript

Résolu/Fermé
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013 - 22 janv. 2009 à 10:59
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013 - 23 janv. 2009 à 10:14
Bonjour,

Je souhaite que mon lien html envoi les valeurs de 2 listes déroulantes (synchronisés avec AJAX) vers une autre page php, et ce si mes listes déroulantes n'ont pas leur valeur par défault (exemple : value =0)

je pensais faire en sorte que mon lien apparaissent en même temps que le changement de valeur de mes listes déroulantes ( donc faire un innerHTML sur changement des listes ) le preoblème est de faire passer mes variables avec le lien html...

Enfin bref j'ai du mal à mettre tout sa en forme, voici un extrait de mon code en AJAX :


//On actualise la zone pôles de la page afin d'afficher la seconde liste déroulante (réponse XmlHTTPRequest).
function getServices() {


var pôles = document.forms['listes'].pôle;
var pl = "";

for (i = 0; i < pôles.options.length; i++) {
if (pôles.options[i].selected) {
pl += pôles.options[i].value;
}
}

var url = 'services.php?pl='+pl;

requete.open('GET', url, true);

requete.onreadystatechange = function() {
if(requete.readyState == 4) {
if(requete.status == 200) {
document.getElementById('services').innerHTML = requete.responseText;
}
}
};

requete.send(null);
}
A voir également:

7 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 janv. 2009 à 11:30
quand ajax te repond pour la deuxime liste le choix dans celle ci n'est pas encore fait, alors comment eux tu mettre la valeur dans le lien

il faut:

sur le onChange de la 2 ième liste tu fais un appel vers une autre fct Javascript

par document.getElementById('nom_liste1').value

idem pour liste 2 tu recupères les choix

et tu fais un innerHTML pour écrire le lien dans ta page en y ajoutant les valeurs
0
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013
22 janv. 2009 à 12:13
Merci pour ta réponse, donc en fait il me faudrait un truc comme ça :

toto = document.getElementById('nom_liste1').value

titi = document.getElementById('nom_liste2').value

document.getElementById('mon_lien').innerHTML=<a href="ma_page.php?ma_var1=toto&ma_var2=titi">blablabla</a>


j'ai quelques problèmes avec la syntaxe du langage, merci de me corriger si le code est incorrect ;)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 janv. 2009 à 13:50
essayes avec cette syntaxe:

var toto = document.getElementById('nom_liste1').value

var titi = document.getElementById('nom_liste2').value

document.getElementById('mon_lien').innerHTML="<a href=\"ma_page.php?ma_var1="+toto+"&ma_var2="+titi+"\">blablabla</a>";
0
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013
22 janv. 2009 à 15:24
Merci ça débloque pas mal de choses =D

J'ai juste un problème, les données ne correspondent pas, pour toto j'obtiens une valeur numérique qui ne correspond en rien avec l'information désirée...

je voudrais récupérer ce qui est marqué dans le <option> que je sélectionne dans liste déroulante 1 , genre :

var toto= document.getElementById('nom_liste1').innerHTML

==>mais seulement pour le <option> sélectionné

sauf que là pour toto je récupere tout ce bloque là :

"<option value=0>tititi</option><option value=1>tatata et tralala</option><option value=2>tututu ou trululu</option>"

alors que moi je veux seulement "tatata et tralala"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 janv. 2009 à 16:41
c'est sur que si tu mets ce code dans ta liste déroulante tu récupères un nombre

<option value=0>tititi</option>
<option value=1>tatata et tralala</option>
<option value=2>tututu ou trululu</option>"


puisque c'est la value qui compte

il faut que tu mettes:

<option value="tititi">tititi</option>
<option value="tatata et tralala">tatata et tralala</option>
<option value="tututu ou trululu">tututu ou trululu</option>" 

0
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013
23 janv. 2009 à 09:33
Problème, je dois conserver le value de valeur numérique

Je ne peux pas faire :

<option value="tititi">tititi</option>

Je dois garde le :

<option value="1">tititi</option>

Je reste bloqué, impossible de sélectionner ce qui est compris entre les balises de la sélection de ma liste
0
bartmaul Messages postés 17 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 1 novembre 2013
23 janv. 2009 à 10:14
J'ai arrangé mon problème autrement, merci pour ton aide ! =)
0