2009-07-29 8 views
1

Gibt es eine Möglichkeit, einen JavaScript-Funktionsaufruf und einen Ajax-Aufruf in der gleichen Observe_form-Tag generieren? Zum Beispiel etwas in der Art:mit beiden: url und: function on observe_form

<%= observe_form 'user_filter_form', :url => { :action => :process }, :function => :fix_fields %> 

Vielen Dank !!

Antwort

0

Ihre beste Wette hier ist, in das tatsächliche JavaScript zu graben, anstatt sich auf die Helfer zu verlassen. Die Helfer können dich nur so weit bringen. Was Sie wollen, ist etwas in dieser Richtung:

<script type="text/javascript"> 
    new Form.EventObserver('user_filter_form', function(element, value){ 
    fix_fields(); 
    new Ajax.Request("/YOUR_CONTROLLER/process"); 
    } 
</script> 

Wenn Sie jedoch wirklich auf den Rails Helfer verlassen möchten, können Sie so etwas wie:

<%= observe_form 'user_filter_form', :function => "fix_fields(); #{remote_function(:url => { :action => :process })}" %> 
0

Verwenden :before oder :after Optionen statt :function, abhängig davon, ob Ihre Funktion vor oder nach der Ajax-Anforderung aufgerufen werden soll.

Siehe Dokumentation von link_to_remote Helfer für allgemeine Optionen, die für alle Ajax-Helfer wie observe_form weitergegeben werden können

Verwandte Themen