Hi, > I tryed to change this line : [snip] > into this one : > > $F('recherchefiche') = TexteDefautRechercheFiche; > > but it don't seem to work...
`$F` is for *retrieving* the value of a field; in JavaScript, a function call can't be the left-hand side of an assignment statement. For setting a field value, you want the Form.Element#setValue function[1], e.g.: $('recherchefiche').setValue(TexteDefautRechercheFiche); Some other comments: > Event.observe(window, 'load', InitialisationPage); That works, but you might also consider using the Prototype dom:loaded event instead.[2] > Event.observe(window, 'resize', > this.InitialisationPage.bindAsEventListener(this)); You don't need bindAsEventListener here (you almost never do[3]). Just #bind[4]. (In fact, in the actual code you quoted, you don't need either because you're not using `this` within `InitialisationPage`, and because `this` doesn't (seem) to have any special value where you're making the call.) > Event.observe('recherchefiche', 'focus', function(){ > if(document.getElementById("recherchefiche").value == > TexteDefautRechercheFiche) > document.getElementById("recherchefiche").clear(); > }); Prototype ensures that the `this` value within an event handler references the element that you're observing (unless you force it to be something else by using #bind on the function), so you could rewrite that as: Event.observe('recherchefiche', 'focus', function() { if (this.getValue() == TexteDefautRechercheFiche) { this.clear(); } }); Or the very similar but *slightly* briefer: $('recherchefiche').observe('focus', function() { if (this.getValue() == TexteDefautRechercheFiche) { this.clear(); } }); [1] http://api.prototypejs.org/dom/form/element.html#setvalue-class_method [2] http://prototypejs.org/api/document/observe [3] http://proto-scripty.wikidot.com/prototype:tip-you-probably-don-t-need-bindaseventlistener [4] http://api.prototypejs.org/language/function.html#bind-instance_method HTH, -- T.J. Crowder Independent Software Consultant tj / crowder software / com www.crowdersoftware.com On Mar 16, 2:40 pm, Joannes De KOSTER <joannes.dekos...@gmail.com> wrote: > Hello, > > I am trying to learn the use of prototye in stead of using regular > javascript. I would like to know how to replace the following syntax > with one from prototype. After a few tryouts, i can't seem to get this > work :/ > > <script type="text/javascript"> > > // textes par défaut zones de saisie > var TexteDefautRechercheFiche = "Recherche par avatar, compte, email > ou userid"; > > Event.observe(window, 'load', InitialisationPage); > > Event.observe(window, 'resize', > this.InitialisationPage.bindAsEventListener(this)); > > function InitialisationPage() > { > > // gestion de la valeur par défaut pour la zone de recherche de > fiches joueurs > > document.getElementById("recherchefiche").value = > TexteDefautRechercheFiche; > > Event.observe('recherchefiche', 'focus', function(){ > if(document.getElementById("recherchefiche").value == > TexteDefautRechercheFiche) > document.getElementById("recherchefiche").clear(); > }); > > } > > </script> > > The html part is simple : > > <input type="text" name="recherchefiche" id="recherchefiche" > class="saisietextestandard" value="" /> > > I tryed to change this line : > > document.getElementById("recherchefiche").value = > TexteDefautRechercheFiche; > > into this one : > > $F('recherchefiche') = TexteDefautRechercheFiche; > > but it don't seem to work... > > Any idea? -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptacul...@googlegroups.com. To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.