Je veux utiliser des effets Scriptaculous sur les messages d'erreur. Ma première idée est de mettre des messages d'erreur dans les balises div et d'utiliser page.visual_effect dans le contrôleur. Mais je ne sais pas comment choisir les divs corrects qui seront affectés. Ou devrais-je mettre certaines conditions if dans la vue et les appeler à partir de là. Au fait, je ne sais pas comment ça. Ne pouvons-nous pas faire quelque chose comme f.error_message_on "name", :visual_effect => ...
Toute aide sera appréciée.Comment utiliser les effets Scriptaculous sur les messages d'erreur
Répondre
Vous êtes sur la bonne voie avec l'emballage en divs , mais vous pouvez le faire de cette façon dans la vue:
<%= f.error_message_on "name",
:css_class => "inputError" %>
Il y a probablement beaucoup de façons de faire il. Avoir le contrôleur retourne rjs est un moyen. Pour être discret, considéré comme la meilleure pratique, vous devez inclure un fichier javascript qui déclenche la méthode scriptaculous lorsque la page est chargée. J'utilise la librairie low pro pour javascript discret. Voici ma suggestion:
fichier de mise en page:
<%= javascript_include_tag :defaults, ‘lowpro’, 'form_behaviors.js' %>
javascript_file_for_form_actions.js:
Event.addBehavior({
'.inputError' : function() {
this.hide();
this.blindUp();
}
});
Vous pouvez également charger conditionnellement le fichier javascript à l'aide content_for et modifier votre fichier de mise en page.
Voir fichier:
<% content_for(:javascript) do %> <%= javascript_include_tag “form_behaviors” %>
<% end %>
Quelque part dans le fichier de mise en page:
<% yield :javascript %>
Vous pouvez obtenir un unobtrusive plugin qui comprend LowPro pour vous aussi. Pour plus d'informations, Peepcode a un bon pdf à propos de lowpro, ainsi que quelques bons screencasts sur javascript.
Il suffit de mettre votre message d'erreur dans un élément identifiable comme:
<div id="bob">error messages here</div>
Ensuite, dans votre javascript que vous pourriez faire quelque chose comme:
$('bob').blindUp();
- 1. Scriptaculous vs JQuery pour les effets secondaires du client riche
- 2. Puis-je utiliser les effets Core Audio sur l'iPhone?
- 3. Comment utiliser les messages Blob ActiveMQ?
- 4. coulissantes et les effets de fading
- 5. prototypejs extensible à bascule() pour les effets
- 6. Comment utiliser les sous-pages wordpress pour voir les messages?
- 7. comment utiliser les effets de shader dans XNA
- 8. Comment désactiver les effets MouseOver sur un bouton dans WPF?
- 9. comment identifier les messages d'erreur IE Messages
- 10. Comment gérer les effets concurrents dans Flex?
- 11. Comment changer les messages de validation sur les formulaires
- 12. WPF WriteableBitmap et les effets
- 13. Onglets jQuery-UI - Comment changer les effets?
- 14. comment utiliser les messages avec freemarker au printemps mvc?
- 15. Comment utiliser Ruby Mechanize pour automatiquement aimer les messages Facebook
- 16. comment archiver les messages msmq?
- 17. Comment ajouter des effets sonores sur Android?
- 18. Afficher les messages publiés sur les noeuds xmpp ejabberd
- 19. Comment exécuter un effet scriptaculous sur tous les éléments cochés dans un formulaire?
- 20. Comment supprimer les effets hover/rollOver globalement sur les composants Spark?
- 21. Ajax: distinguer les anciens messages et les nouveaux messages
- 22. effets visuels ne fonctionnant pas en ruby sur les rails
- 23. Distinction entre les messages diffusés et les messages directs
- 24. jQuery.Cycle - utiliser deux effets différents sur le même récipient
- 25. Rediriger les messages ILog
- 26. Quelles sont les options pour les effets animés jQuery?
- 27. WP7 aider avec les effets de menu
- 28. Interface utilisateur JQuery: afficher/masquer les effets avec les options
- 29. Comment séparer les messages de socket TCP
- 30. JavaMail Lire les messages
Peut-être pinailler, mais ce qui est avec le "javascript_file_for_form_actions.js"? Évidemment, c'est un fichier, évidemment c'est javascript (en raison de l'extension .js), alors pourquoi les répéter? Que diriez-vous de "form_actions.js"? – ScottJ
Je l'ai juste choisi pour qu'il soit clair dans mes explications. Plutôt que d'utiliser des commentaires. Je ne le nommerais pas vraiment. – coreypurcell
Et il était en fait censé être édité à form_behaviors.js, ce qui est dans la partie content_for. Donc je vais l'éditer maintenant. – coreypurcell