Rico là c'est dur

bon alors voila je me suis penché sur rico et la je suis le point de me casser les dents.

Quelqu’un a des exemples ou de la bonne doc ?

Parce que la doc du site est sommaire voire lapidaire …

Un exemple tout con de leur premier formulaire (http://openrico.org/rico/demos.page?demo=ricoAjaxInnerHTML.html) :

[code]

lang=“fr”>

Ajax Demo - Inner HTML - Rolodex

Ajax Rolodex
  <td valign="top">
	 <select id="listBox" size="10" onchange="getPersonInfo(this)" style="font-family:arial;font-size:11px;display:inline;border:1px solid red">
		<script>
		   for ( var i = 0; i < names.length; i++ )
			  document.write( "<option value='" + names[i] + "'>" + names[i] + "</option>" );
		</script>
	 </select>
  </td>
  <td>
	 <div style="display:inline" id="personInfo">
		Select a name to the left to see the AJAX rolodex entry
		for the selected person.
	 
  </td>

  </tr></table>
[/code]

bon alors ce que j’ai compris c’est que le fichier getPersonInfo.do renvois du xml avec les infos pour ce champs la :

<div style="display:inline" id="personInfo"> Select a name to the left to see the AJAX rolodex entry for the selected person.

mais ce que je ne comprends pas trop c’est ce champs :

<select id="listBox" size="10" onchange="getPersonInfo(this)" style="font-family:arial;font-size:11px;display:inline;border:1px solid red"> <script> for ( var i = 0; i < names.length; i++ ) document.write( "<option value='" + names[i] + "'>" + names[i] + "</option>" ); </script> </select>

ok quand on selectionne dans la liste il affiche ces foutus infos en appelant la methode getPersonInfo,
mais je ne pige pas :
1 le this (il renvois quoi ?)
2 d’ou il me sort la variable names.

Et sur ce fromage de site evidement le fichier getPersonInfo.do n’est pas fournis ca serait trop simple de voir ce qu’il renvois.

Bref HELP …

Si quelqu’un a deja touché a rico et peut me montrer ses exemples ou m’aider.
merci

Bussiere

Salut,

Bon je ne suis pas un spécialiste de l’AJAX, et encore moins de RICO.
Mais je peut t’apporter quelques éléments de réponse :

this est en fait, une représentation de ton objet courant, dans ton cas il représente ton objet SELECT. Grâce à this, tu peux manipuler ton objet comme si tu faisais un document.getElementById(‘listBox’).

Toujours dans ton cas, lorsque tu changes de valeur dans ton select, la fonction getPersonInfo est appelée avec selectBox = listBox.

Pour ce qui est de la variable name, elle doit être déclarée (ou construite) dans les .js après analyse du .do

Voila, j’espere que cela t’aideras

oui merci ^^
je sais ce qu’est un this mais je ne pige pas trop sa fonciton ici

thks quand meme

Bussiere

Salut,

En faite le “this” sert pour l’appel de la fonction “getPersonInfo(selectBox)” :

[quote]function getPersonInfo(selectBox) {
var nameToLookup = selectBox.value.split(",");
var firstName = nameToLookup[1].substring(1);
var lastName = nameToLookup[0];

  ajaxEngine.sendRequest( 'getPersonInfo',
                          "firstName=" + firstName,
                          "lastName=" + lastName );

}[/quote]
Cela permet de récupérer les informations sélectionnées via le “”.

Exemple de réponse au format XML.

Pour la variable “names”, je ne sais plus où elle est définie. En tout cas, elle sert juste à remplir le “”.

Voila si tu as d’autres questions …

bon voila alors pour ceux qui ont galéré comme moi sur rico je rajoute ce site dans ce topic :
http://www.mirimar.net/mailbrowser/

voila

Bussiere

Salut je suis aussi en train de decouvrir Rico et sa doc vraiement legere… B)

Si quelqu’un a réussi a comprendre comment ca tourne je suis interessé pour avoir plus d’infos.

J’ai fait un request handler en php, mais j’ai l’impression qu’il ne tourne pas comme il faudrait. Si quelqu’un sait faire ca en php/mysql, ca serait vraiement cool de m’expliquer comment on genere le xml a partir d’une requete dans une base mysql faite en php.

Je bloque aussi sur le listbox. J’ai remplacé par un listbox codé en php ou je suis plus a l’aise, mais du coup je sais pas trop comment reccuperer les bonnes variables pour les envoyer au request handler.

Je comprend pas trop les lignes B)
" var firstName = nameToLookup[1].substring(1);
var lastName = nameToLookup[0];"

voila en fait il me manque plein d’elements pour faire tourner le script. J’en appelle a vous :smiley: