2009-12-21 24 views
0

Je le code suivant pour créer un éditeur inplace:evalScripts: true ne fait rien avec l'Ajax inplace éditeur

new Ajax.InPlaceEditor('artifact_pretty_display_date_110_in_place_editor', '/artifacts/set_artifact_pretty_display_date/110', {evalScripts:true}) 

La réponse semble bien après que je change une date:

Element.update("artifact_pretty_display_date_110_in_place_editor", "12/06/2008"); 
Element.update("artifact_visible_display_date_110", "12/06/2008"); 
Element.update("flash_message", "<div class=\"flash_message\" style=\"display:block;\">\r\n   The Document's date was changed to 12/08/2008. \r\n</div>"); 
Element.update("flash_error", "<div class=\"flash_error\" style=\"display:none;\">\r\n\r\n \r\n</div>\r\n"); 

La seule question est mon champ de l'éditeur inplace est en train de montrer cette réponse, il ne reçoit pas eval'd. C'est comme mettre evalScripts à true ne fait rien. quelquun sait pourquoi cela se passe?

Merci!

Répondre

0

En regardant le docs il ne semble pas comme evalScripts est une option valable dans ce contexte, je pense que votre code doit ressembler à ceci:

new Ajax.InPlaceEditor('artifact_pretty_display_date_110_in_place_editor', '/artifacts/set_artifact_pretty_display_date/110', ajaxOptions:{evalScripts:true}) 
+0

Je vois comment cela a du sens mais ça ne marche pas pour moi – Tony

0

Cela se est avéré être un problème avec InPlaceEditor de Scriptaculous au moyen d'un Ajax Updater par opposition à un objet Ajax Request tout en utilisant page.replace_html. Si vous rencontrez cette erreur, il peut être utile d'ouvrir controls.js de scriptaculous et de vérifier qu'un objet Ajax Request est utilisé dans la méthode handleFormSubmission. Si ce n'est pas le cas, vous devrez peut-être définir htmlResponse sur true ou, selon la version de scriptaculous, vous devrez peut-être définir un autre indicateur. C'est exactement là où ma question a menti.