2013-02-22 7 views
6

Ich arbeite an einer Backbone-Anwendung, und ich habe fast alles funktioniert, außer die Art, wie ich Daten aus einem Formular lesen sollte.Lesen von Daten aus einem Formular im Backbone

Ich habe ein paar Ansichten und Vorlagen, die die Formularelemente erstellen, und eine Schaltfläche "Speichern". Wenn ich auf diese Schaltfläche klicke, wird ein Ansichtsereignis ausgelöst. Dort möchte ich wissen, ob es eine "bewährte Methode" zum Lesen dieser Informationen gibt.

Die Optionen, die ich dachte waren:

  • die Eingänge mit jQuery Lesen, wie jQuery ('# name') val(), die ärgerlich sein würde, wenn Sie eine große Form haben..

  • Mit serializeArray

  • Der letzte wäre so etwas wie https://github.com/derickbailey/backbone.syphon, aber nicht sicher, wie beliebt ist sein es.

Also, welches ist der beste "Rückgrat Weg", es zu tun?

Vielen Dank!

Antwort

6

Was ist der beste Weg ist schwer zu sagen, da es abhängt.

Das Beispiel, das Sie in Ihrem Beitrag zeigen, sind alle für eine Aktion gedacht: Senden eines Formulars an ein Backend. Dann sind Siphon (von einem großen Entwickler) und serializeArray (oder einfach nur $(form).serialize()) großartige Lösung (offensichtlich ist der erste für eine große Form nicht großartig - also würde ich diesen vergessen).

Obwohl, wenn Ihr Formular Updates ein Modell in Echtzeit gemeint ist, und dass diese Form Änderung Modell widerspiegeln sollte. Dann würde ich mich für eine Datenbindungsbibliothek entscheiden. Das Beste, was ich weiß, ist Backbone.stickit; Es gibt auch Backbone.ModelBinder. Ich benutze beide und sie sind großartig, obwohl die erste ein bisschen weniger Boilerplate verwenden.

+1

Vielen Dank! Ich benutze Stickit und funktioniert super! – Mustela