Salut à tous,
J’ai ça dans ma view:
<%= link_to_remote ‘update’, :update => ‘updatespan’,
:url => { :action => ‘edit’,:id=>r.id.to_s } %> some text
ce que je fais pour l’instant:
render :update do |page|
page.replace_html @spanid,
“mise a jour avec succes”
page.visual_effect :highlight, @spanid
end
mais ça me donne l’érreur:
try { } catch (e) { alert(‘RJS error:\n\n’ + e.toString()); alert(’’);
throw e }
je voudrais remplacer le contenu du span pour une seconde et demie par
“mise à jour avec succè” et un effet highlight et ensuite revenir sur
le text original du span, dans ce cas “some text” mais je suis un peu
bloqué comment faire.
Si vous avez une idée,
Merci d’avance
Pat
Le 5 janv. 07 à 02:04, Patrick A. a écrit :
render :update do |page|
“mise à jour avec succè” et un effet highlight et ensuite revenir sur
le text original du span, dans ce cas “some text” mais je suis un peu
bloqué comment faire.
Si vous avez une idée,
A ma connaissance il existe plusieurs moyen de setter une variable js
via rjs mais pas d’en lire sans écrire directement le js, car je ne
crois pas qu’on puisse appeler des variables js ou des propriété
d’object js comme argument via les methods rjs
donc si tu tiens absoluement à utiliser rjs pour ca tu peux faire un
truc du genre:
render :update do |page|
page << “var temp = $(‘mytext’).innerHTML; $(‘mytext’).innerHTML=
‘mise a jour avec succes’;”
page[‘mytext’].visual_effect :highlight
page.delay(1.5) do
page << “$(‘mytext’).innerHTML= temp;”
end
end
Maintenant à mon humble avis c’est très très laid, ca fera froncer
beaucoup de sourcil de voir des détails d’implémentation d’effet
client spécifique se retrouver dans le code d’un controller sur un
serveur sensé être MVC.
IMHO ca mérite de créer son propre effect scriptaculous, c’est très
simple et réutilisable et ca permettrait de faire juste un page
[‘mytext’].visual_effect :transitional_text ‘mise a jour avec succes’
ce qui aurait plus de gueule dans un controller.
Renaud
Salut,
il existe ceci pour rajouter un delai
page.delay(3.0) do
page.visual_effect :highlight, @spanid
end
Sinon il y a une option :delay sur le highlight (cf la doc
scriptaculous)
++
Julien