2016-06-14 14 views
0

Ich muss ein komplexes Formular vollständig mit Javascript verwalten.Serialisiertes Formular für Javascript

Ich möchte nicht das gesamte Formular HTML-Markup für den Benutzer dienen.

Das ist, warum ich das Formular serialisieren müsste, damit ich es mit JS manipulieren kann, während der Benutzer mit etwas HTML-Interaktivität fiedelt, bevor er zurück zum Server sendet.

Ich sah this pretty old question und diese "deprecated" bundle

Die Frage ist einfach: Wie kann ich eine Symfony Form der zugrunde liegenden Daten serialisiert?


Hier war mein erster Versuch, nach JsonSerializable auf den dazugehörigen Objekte implementiert hat:

{% form.vars.data|json_encode %} 

Aber natürlich codiert diese die ganzen Objekte ausgesetzt Eigenschaften

+0

Sie haben versucht, Um dies zu tun: Verwenden Sie Jquery Ajax Aufruf mit JSON und Serializer-Komponente von Symfony (http://symfony.com/doc/current/components/serializer.html) – XZKS

+0

Gibt es eine Erklärung, warum diese Frage verdient, geschlossen zu werden? –

+0

Nun, da ich den globalen Grund des Schließens sehe, glaube ich zu verstehen, warum: Vielleicht kann ich nicht wissen, was ich in dem Formular zu serialisieren versuchte. Jetzt erzähle ich es in der aktualisierten Frage: Die zugrunde liegenden Daten für das Formular konfiguriert –

Antwort

0

Da wir leicht eine vorgelegte Form deserialisieren können Mit den Standard-Werkzeugen von Symfony dachte ich, dass es Werkzeuge geben würde, um es im selben Format zu serialisieren. Nun, das scheint nicht der Fall zu sein.

Wir scheinen zu haben unsere eigenen Serializer zu implementieren, ist hier, wie es aussehen könnte:

static public function serializeForm(FormInterface $form) 
{ 
    if (!$form->all()) { 
     return $form->getViewData(); 
    } 
    $data = array(); 
    foreach ($form->all() as $child) { 
     $data[$child->getName()] = self::serializeForm($child); 
    } 

    return $data; 
} 

ich den interessanten Teil nahm aus dem so genannten „veraltet“ SimpleThingsSerializerBundle ‚s form serializer

Verwandte Themen