Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2007, 09h27   #1
Membre du Club
 
Inscription : juin 2003
Messages : 83
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 83
Points : 47
Points : 47
Par défaut [Prototype] MàJ de plusieurs champs simultanément ?

Bonjour,

tout d'abord merci aux brillants rédacteurs et traducteurs du FW Prototype que je ne connaissais pas.
Je l'ai découvert très récemment et je dois dire qu'après une période un peu délicate, je commence à bien m'amuser

Revenons à nos moutons :

J'utilise l'objet Updater pour mettre à jour un conteneur (div, span...) après avoir lancé une requête PHP. Je ne récupère pas du XML mais directement une string HTML (ça m'arrange plus, d'ailleurs je n'ai pas encore bien vu l'intérêt de se trimballer du XML).

Updater accepte en paramètre un champ HTML, pas 2 ni 3. Or, dans mon cas, je souhaiterais mettre à jour dynamiquement 10 champs "select" après le choix de l'utilisateur.
Actuellement, je ne vois pas d'autre soluce que de répéter le même Updater autant de fois que je n'ai de champs à mettre à jour. Pas terrible en somme.

Merci pour vos conseils avisés.

à+

---------------------

J'ai trouvé la solution.
En creusant le tuto de Aurélien Millet j'ai fait appel à Request et non Update.
Ca donne ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Event.observe($('mesure'), 'change', function(event) {
		new Ajax.Request(
			'ajax-inscription.php?q=sm',
			{
				method: 'get',
				parameters: {mesure: $('mesure').value},
				onSuccess: function(transport, json)
						{
							//alert("RESULTAT : " + json.root.taille + " " + json.root.poids + " " + json.root.vma);
							$('zonetaille').innerHTML 	= json.root.taille ;
							$('zonepoids').innerHTML 	= json.root.poids ;
							$('zonevma').innerHTML 		= json.root.vma ;
 
						},
				onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
			}
		);
		Event.stop(event);
	}.bindAsEventListener())
Côté ajax-inscription.php :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$datas = array(
		    "root" => array(
		        "taille"=> "<input type='text' id='taille' name='taille' size='2' maxlength='2' value='' /> cm" ,
		        "poids" => "kg" , 
		        "vma" 	=> "km/h"
		    )
		);
 
 
require_once('include/JSON.php');
$json = new Services_JSON();
header("X-JSON: " . $json->encode($datas));
J'ai de fait compris l'intérêt de ramener des données au format XML tout en préférant JSON (semble mais moins lourd et verbeux !)

à+
kileak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h40.


 
 
 
 
Partenaires

Hébergement Web