recuperation valeur pour affichage fenetre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperation valeur pour affichage fenetre

par Invité » 12 mai 2009, 08:48

je n'ai toujours pas trouver de solution, personne aurait une piste ?
merci

par nina87 » 29 avr. 2009, 15:03

personne n'aurai d'idée sur mon problème ?

je vous remet mon code

sur ma première fenêtre :
<script src="ajax.js" type="text/javascript"></script>
<select name="numl"  style="width:600px;"  onchange="com.value=this.options[this.selectedIndex].test, ajaxnuml(), ajaxtext()" >

et sur ajax.js
function ajaxnuml()
{ 
getXhr(); 
xhr.onreadystatechange = function() 
{ 
if(xhr.readyState == 4 && xhr.status == 200) { 
// Nous recuperons ce coup ci le retour dans une variable
var chaine = xhr.responseText;
// Nous decoupons la reponse selon le caractere choisi 
var tableau = chaine.split('£');

// Nous appliquons les valeurs récupérées au element correspondant 
document.getElementById('urgence').value = tableau[0]; 
}
}
xhr.open("POST",'ajaxrecupurg.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
numl = document.getElementById('numl').value; 
xhr.send("numl="+numl);
} 

function ajaxtext()
{ 
getXhr(); 
xhr.onreadystatechange = function() 
{ 
if(xhr.readyState == 4 && xhr.status == 200) { 
// Nous recuperons ce coup ci le retour dans une variable
var chain = xhr.responseText;
// Nous decoupons la reponse selon le caractere choisi 
var tablo = chain.split('£');

// Nous appliquons les valeurs récupérées au element correspondant 
document.getElementById('com_p').value = tablo[0]; 
}
}
xhr.open("POST",'ajaxrecuptext.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
numl = document.getElementById('numl').value; 
xhr.send("numl="+numl);
} 
merci

par nina87 » 28 avr. 2009, 08:45

non je n'ai rien en ligne

par Nours312 » 27 avr. 2009, 10:47

tu n'aurais pas une page en ligne ? ... se serait plus parlant ....

par nina87 » 27 avr. 2009, 09:37

donc quand j'essai avec firefox ça ne marche pas du tout, même avec les alert.
cela m'indique document.getElementById("numl") is null. Pourtant avec internet explorer il est bien prix en compte ? comprend pas trop ce que ça me fait la ?
merci

par Elie » 25 avr. 2009, 00:19

Installe un plugin firefox qui te donnera l'erreur JavaScript

par Invité » 24 avr. 2009, 09:05

j'ai remarquer que si je met les alert a un autre endroit cela ne fonctionne pas, c'est vraiment si je l'ai met a cette endroit que ça fonctionne(même juste après getXhr()), je comprend vraiement pas comment un alert peux changer se comportant. De plus si j'en enlève un seul cela ne fonctionne pas non plus.
merci d'avance

par nina87 » 23 avr. 2009, 17:19

ok merci j'ai réussi a trouver a peu près mon bonheur.

a partir de ma liste déroulante, j'exécute 2 fonctions ajaxtext(), ajaxnuml()

les voici :
function ajaxnuml()
	{ 
	alert('ici');
	getXhr(); 
	xhr.onreadystatechange = function() 
	{ 
	if(xhr.readyState == 4 && xhr.status == 200) { 
	// Nous recuperons ce coup ci le retour dans une variable
	var chaine = xhr.responseText;
// Nous decoupons la reponse selon le caractere choisi 
var tableau = chaine.split('£');

// Nous appliquons les valeurs récupérées au element correspondant 
document.getElementById('urgence').value = tableau[0]; 
}
}
xhr.open("POST",'ajaxrecupurg.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
numl = document.getElementById('numl').value; 
xhr.send("numl="+numl);
} 

function ajaxtext()
	{ 
	alert('la');
	getXhr(); 
	xhr.onreadystatechange = function() 
	{ 
	if(xhr.readyState == 4 && xhr.status == 200) { 
	// Nous recuperons ce coup ci le retour dans une variable
	var chaine = xhr.responseText;
// Nous decoupons la reponse selon le caractere choisi 
var tableau = chaine.split('£');

// Nous appliquons les valeurs récupérées au element correspondant 
document.getElementById('com_p').value = tableau[0]; 
}
}
xhr.open("POST",'ajaxrecuptext.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
numl = document.getElementById('numl').value; 
xhr.send("numl="+numl);
} 
donc cela fonctionne de cette manière mais si j'enlève les 2 alert, cela ne fonctionne plus, comme ci il y avais un conflit de variable. j'ai donc essayer de changer celle ci mais rien y fait.


es-ce que vous voyer d'où vient le problème ?

par Ryle » 20 avr. 2009, 14:27

Peut être que ces tutos de la FAQ pourront t'apporter quelques éléments de réponse :

:arrow: Introduction à AJAX
:arrow: Formulaires : Listes déroulantes dynamiques liées

Dans ton cas il ne s'agit pas de listes liées, mais le principe reste le même : recharger une partie de la page, à partir des données spécifiées par l'utilisateur dans une autre partie de la page :)

par Elie » 20 avr. 2009, 12:42

Meme réponse, utilise l'ajax !

par nina87 » 20 avr. 2009, 11:44

cool merci ça fonctionne pour mon premier cas. j'ai essayé de le modifier pour le second cas mais cela ne m'affiche rien. il n'est pas possible de mettre (document.getElementById('numl').options[document.getElementById('numl').selectedIndex].value dans une variable qui peux ensuite être utiliser dans une requete sql, car le souci, c'est que je ne sais pas comment prendre en compte la variable dans ce cas.
merci beaucoup

par Elie » 16 avr. 2009, 11:29

Je t'aide pas parce que tu n'as pas les bases, je ne sais pas si tu comprendrais ce que je te dis ...
Tu mélange un peu tout quoi...

Je te conseille de faire ca :

Code : Tout sélectionner

<a href="test.php" onclick="window.open(this.href+'?num='+document.getElementById('id_de_ton_select').options[document.getElementById('id_de_ton_select').selectedIndex].value, 'popup'); return false;"><img src="../image/bouton/buttonvoir.gif" width="100" height="20" border="0" ></a>
En gros quand tu cliques sur le lien, il ouvre une popup avec ton url + ?num= + la valeur de ton select.

A bricoler biensur !

par nina87 » 16 avr. 2009, 11:25

personne peux m'aider alors ?

j'ai le même souci a un autre endroit. je choisi un enregistrement dans une liste déroulante et cela m'affiche dans une zone de texte des renseignement de la base. Le problème c'est que je suis aussi obliger de récupérer la valeur de la liste déroulante et non de le faire en automatique, car il est possible que aucun renseignement ne soit dans la base et donc si je le met dans la première requête c'est enregistrement ne figurerai pas alors que je veux qu'il s'affiche.

oula je crois qu'il yen a plusieurs qui vont peiner a me comprendre

merci d'avance

par nina87 » 14 avr. 2009, 11:38

j'ai essayer de regarder mais je comprend pas grand chose a comment fonctionne ajax.

j'ai vu que l'on peux a priori le faire avec javascript donc dans ma liste deroulante j'ai mis :
valeursite(this.options[this.selectedIndex].value)
et dans la fonction j'ai mis :
function valeursite(valeur)
{
$valsit=valeur;
}
si je fais un alert dans ma fonction ça me donne bien la valeur souhaité.
Mais je n'arrive pas a récupéré ensuite cette valeur pour la mettre dans mon bouton :
<a href="test.php?num=<?php echo $valsit; ?>" target="_blank"><img src="../image/bouton/buttonvoir.gif" width="100" height="20" border="0" ></a>
qu'est-ce qu'il faudrait que je mette a la place de num=<?php echo $valsit; ?> ?

merci d'avance

par Elie » 10 avr. 2009, 18:49

Un petit coup d'ajax et c'est bon ... J'ai pas de tutorial précis a te proposer surtout que moi j'ai pris l'habitude (que je te conseille) de travailler avec le framework JS Prototype qui te simplifie vraiment la facon d'utiliser l'ajax

http://prototypejs.org/