dans le html.. :S
fonction des données dans le formulaire.. au travail !
> Merci beaucoup pour toutes ces explications, je me décide bien pour
> faire du jquery ( à moins que je me rende compte que c'est beaucoup
> plus de travail ) !
> En fait j'ai mal posé ma question, j'avais compris que mon code
> n'étais pas compatible jquery et je ne souhaite plus utiliser
> scriptaculous. Ce que je voulais savoir c'est comment faire ca en
> jquery ?
> Pour l'instant j'essaye juste de faire ca :
>
> <script type="text/javascript">
> $('#new_personne).change(function() {
> $('#doublon').html('testok);});
>
> </script>
>
> mais malheuresement rien ne se produit lorsque je change la valeur
> d'un champ du formulaire ( même résultat si je remplace $
> ('new_personne') par $('#personne_nom') qui est l'id d'un input du
> formulaire. Comment puis-je faire ca ? D'après mes recherches sur le
> net c'est bien la propriété change qu'il faut utiliser de cette
> manière :S ?
>
> Je me demande également comment organiser mes fichiers pour jquery
> dans rails ? Ou places-tu les .js ? Correspondent-t-ils chacun à une
> vue ?
>
> Adrien
>
> On Jul 12, 1:04 pm, Michel Belleville <
michel.bellevi...@...>
> wrote:
>
> > Là tu viens de rencontrer un truc que je n'aime pas trop dans Rails : le
> > fait de ne pas savoir que tu faisais de l'AJAX, avec prototype /
> > scriptaculous "masqué" par du ruby.
>
> > Prototype est la library javascript de base qu'utilise Rails. Scriptaculous
> > est une surcouche de prototype qui fait de l'animation à l'écran, inclu de
> > base aussi dans Rails. Prototype utilise pour sélectionner un élément de ta
> > page (et lui ajouter des possibilités) par son id la méthode *$()*. Or,
> > jQuery utilise aussi la méthode *$()*, mais pour faire beaucoup plus
> > (sélectionner une liste d'élément par sélecteur css, liste que tu peux
> > manipuler à la volée avec des itérateurs ; transformer un tableau ou un hash
> > javascript simple *[]*, ou *{}* en un itérateur jQuery, renvoyer une version
> > étendue du document, etc.). Donc quand tu charge les deux libraries, tu as
> > un conflit, la dernière décidant de ce que l'on fait de la méthode *$()*.
> > Heureusement, les braves gens de jQuery ont prévu le et assoupli le
> > fonctionnement pour être compatible :
http://docs.jquery.com/Using_jQuery_with_Other_Libraries>
> > Sinon, je t'encourage à voir ce qu'a réellement généré le code Rhtml :
> > <%= observe_form :new_personne,
> > :url => { :action => 'doublon' },
> > :frequency => 2,
> > :update => 'doublon'
> > %>
>
> > Tu vas t'apercevoir qu'en fait c'est du JavaScript prototype, écrit
> > directement dans la page. Personnellement je trouve ça moche, du javascript
> > dans du code HTML (philosophie Rails : on ne doit pas taper son javascript
> > soi-même, c'est le boulot du rjs, un seul langage => ruby), je préfère des
> > fichiers javascript .js à côté qui manipulent la page pour faire le boulot
> > (philosohpie jQuery : pour bien dégrader une application, il faut qu'elle ne
> > repose pas sur du javascript et des "hacks" html mais plutôt sur un code
> > html simple et propre, et le JavaScript doit être dans son fichier, et faire
> > le boulot pour ajouter les éléments d'interface dont il a besoin). Chaque
> > philosophie à ses avantages / inconvénients :
>
> > 1. Rails
> > - Avantages
> > - intégré dans Rails "de base"
> > - remote_form_for, link_to_remote sont séduisants
> > - Inconvénients
> > - incite à oublier le JavaScript, donc te laisse dépourvu le jour
> > où tu veux faire quelque chose de différent de ce qui est
> > possible en RJS
> > - incite à faire des vues avec du code JavaScript, ce qui n'est pas
> > bon pour la réutilisation (la vue cible ne "connaît" pas le
> > contexte de la
> > source, les scripts de réaction à la réception de la cible
> > sont bien mieux
> > placés dans le contexte de la source)
> > - verbeux
> > - un poil plus lent que jQuery (ça se sent surtout si tu ne fais
> > pas de bubbling avec des longues listes, ou si tu fais
> > beaucoup d'animations
> > compliquées)
> > 2. jQuery + ce que tu veux côté serveur (dont Rails)
> > - Avantages
> > - rend les manipulations de la dom "magiquement facile" à condition
> > de maîtriser les sélecteurs CSS
> > - élégant et peu verbeux
> > - incite à concevoir des interfaces qui "dégradent" bien (marchent
> > sans JavaScript, même si c'est moins pratique, ça fait plaisir à des
> > configurations sans JS)
> > - incite à mieux comprendre et connaître le HTML propre et les CSS
> > - Inconvénients
> > - pas inclu "de base" dans Rails (mais facile à installer)
> > - complique un peu si tu veux faire du rjs (mais c'est limite pas
> > propre)
>
> > Voilà, j'espère que ça t'aidera à faire ton choix et à avancer. Si tu veux
> > d'autres tips jQuery, n'hésite pas à demander, mais ça ne t'exempte pas de
> > lire la doc...
>
> > Michel Belleville
>
> > 2009/7/12 Adrien Coquio <
adrien.coq...@...>
>
> > > D'accord, je vais me mettre à JQuery, ca a l'air très intéressant !
> > > surtout avec la librairie UI !
> > > Par contre je rencontre maintenant mon premier problème, j'avais une
> > > requete ajax qui surveillait un formulaire mais depuis que j'ai
> > > installé jquery, elle ne marche plus :
>
> > > <%= observe_form :new_personne,
> > > :url => { :action => 'doublon' },
> > > :frequency => 2,
> > > :update => 'doublon'
> > > %>
>
> > > Et selon le résultat de l'action "doublon" j'affichais, ou pas, le div
> > > suivant :
>
> > > <div id="doublon" style="background:yellow">
> > > <%= render :partial => 'list_doublon' %>
> > > </div>
>
> > > Une idée ?
>
> > > Merci
>
> > > Adrien
>
> > > On Jul 11, 9:59 pm, Michel Belleville <
michel.bellevi...@...>
> > > wrote:
> > > >
http://jquery.com/pourjQuery, ce n'est intégré dans Rails (mais c'est
> > > > intégrable, sans grave problèmes) perso je te le recommande, si tu n'as
> > > > aucune expérience de JavaScript
>
> > > > Sinon, dans rails de base, tu as prototype / scriptaculous qui peut faire
> > > > les mêmes choses (mais en moins joli, en moins bien à mon sens).
>
> > > > Comme tu dois tout prendre le JS depuis le début, commence par jQuery, à
> > > mon
> > > > sens c'est l'avenir.
>
> > > > Sinon, pour les conseils pour débuter, n'hésite pas à demander, la JS
> > > c'est
> > > > mon dada.
>
> > > > Michel Belleville
>
> > > > 2009/7/11 Adrien Coquio <
adrien.coq...@...>
>
> > > > > C'est exactement ca que je veux faire, malheuresement je ne maitrise
> > > > > pas le javascript ! Quelqu'un peut-il m'indiquer de la documentation
> > > > > ( même en anglais ) pour réaliser ca, malgrè mes recherches je ne
> > > > > trouve pas grand chose :S
> > > > > Merci pour votre réponse
> > > > > Adrien
>
> > > > > On Jul 9, 2:18 pm, Michel Belleville <
michel.bellevi...@...>
> > > > > wrote:
> > > > > > Avec un bon framework JavaScript (jQuery) il y a des plugins tout
> > > fait,
> > > > > mais
> > > > > > en gros ils marchent tous comme ça :
>
> > > > > > 1. créer un élément html (div c'est bien) à la racine de ton
> > > document
> > > > > > - le positionner en "absolute" en haut à gauche du doc
> > > > > > - lui donner un z-index css plus haut que tout le monde dans le
> > > doc
> > > > > > - lui mettre un fond noir et lui donner de la transparence (cf.
> > > ton
> > > > > > framework JS)
> > > > > > - lui donner un waiter gif animé qui signifie que tu charge et
> > > > > qu'il
> > > > > > faut que l'utilisateur patiente
> > > > > > 2. faire un call ajax pour récupérer juste ton formulaire (pas de
> > > > > layout)
> > > > > > - le coller à l'arrivée dans ton nouvel élément
> > > > > > - lui coller l'action ajax pour créer le nouvel élément en
> > > submit
>
> > > > > > Si tu maîtrise bien les CSS et le javascript, c'est trivial. Sinon,
> > > il y
> > > > > a
> > > > > > souvent des plugins tout prêts pour ton framework JS (enfin, en
> > > jQuery
> > > > > you
> > > > > > il y en a).
>
> > > > > > Michel Belleville
>
> > > > > > 2009/7/9 Adrien Coquio <
adrien.coq...@...>
>
> > > > > > > Bonjour,
>
> > > > > > > J'ai le dilemne suivant :
>
> > > > > > > J'ai un formulaire "nouvelle personne", dans ce formulaire on doit
> > > > > > > choisir la commune de cette personne ( lien vers la table COMMUNES)
> > > > > > > via un select contenant le nom de toutes les communes de la base
> > > > > > > Je voudrai offrir à l'utilisateur de créer cette commune si elle
> > > > > > > n'existe pas, je pourrai mettre un div caché et le faire apparaitre
> > > en
> > > > > > > ajax avec un lien "ajouter une commune" mais le formulaire pour
> > > > > > > ajouter une commune est grand alors ca va vite devenir moche...
> > > > > > > J'aimerai plutôt qu'une fenetre s'ouvre avec le formulaire et que
> > > > > > > lorsque l'utilisateur valide le formulaire, la fenetre se ferme, et
> > > la
> > > > > > > nouvelle commune soit sélectionné dans le select du formulaire
> > > > > > > personne.
>
> > > > > > > Ma question : comment faire ca ? Je pensai à lightwindow mais je
> > > n'ai
> > > > > > > pas trouvé beaucoup de documentation pour faire ca avec rails et ca
> > > à
> > > > > > > l'air buggé (pas d'autocomplétion). Une fenêtre popup ? Ca peut
> > > être
> > > > > > > bien mais c'est un peu moche maintenant les popup avec le web 2.0,
> > > > > > > non ? Une autre idée ? Des avis ?
>
> > > > > > > Merci à tous
> > > > > > > adrien
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.