2012-01-25 16 views
0

newbの質問をお許しください。しかし、私は他の場所で回答を見つけることはできません。Backbone.js:リクエストでフォームフィールドが送信されていません

私はBackbone.jsが初めてです。POST/PUTリクエストでページのフォームフィールドの変更が送信されない理由を理解しようとしています。 'change'イベントが発生していて、Viewはそれをキャッチしていますが、モデルにはフォームからのフィールドがありません。私はこれを扱うものを見つけることができませんでしたので、私たちはアプリで非常に間違ったことをやったことがあると確信しています...しかし、私はそれが何であるかを理解する方法はわかりません。

これは最も完全な質問ではありませんので、もっと情報が必要な場合は教えてください。私はこれを初めて知っているので、これを追跡する必要があるかもしれないと私は確信していません。

助けを借りていただければ幸いです。事前にありがとうございます。 vegtabill

+0

ビューのコードはありますか?これは、問題のデバッグに役立ちます。 –

+0

お返事ありがとうございました。私はジミーミラーの助けを借りて、コードから何が欠落しているのか分かったと思います。しかし、もっと苦労したら、私が持っているものを投稿します。再度、感謝します! – vegtabill

答えて

1

backbone.jsでは、何かする方法が複数あります。私は個人的にビューからのデータで私のモデルを更新し、jsonはモデルのバックボーンコレクションにREST機能を組み込んでいないと、サーバー側への送信用にそのデータをシリアル化します(フェッチ、保存など)。これを行うにはmodel.set()メソッドを使用してください。私はかなり背骨に新しいので、あなたが私のアプローチに嫌悪感を覚えるなら、私を叩かないでください。私は、私よりもこの話題について多くのことを知っている他の人がいることを知っています。このアプローチは私のために働き、ビューの参照を持たないモデルの私の個人的な目標を強制します。その分離は個人的に私にとって重要です。より明示的にするために、私は自分のモデルを更新するために使用するイベントをリッスンします。

+1

そしてサイドノートでは、私は大きな死んだファンと一般的なグルーヴィーな音楽愛好家です、歓声! –

+0

私は間違いなく人々を叩くことのビジネスではない...そこに心配はありません。ビューを使用してモデルを更新していますが、変更されたフィールドは表示されません。デバッグ出力で異なると思われる唯一の "フィールド"は、 "1 = 1"の加算です。シリアライゼーションが間違っている可能性はありますか?もう一度、ありがとう。 – vegtabill

+0

私が正しく理解していない場合、モデルを実際に更新するためにchangeイベントハンドラでmodel.set()を呼び出す必要があります。それは理にかなっていますか? model.set()を呼び出す場合は、モデルで永続化しないように設定した値がありますか? set()内の値を拒否する可能性のある検証をモデル化できますか? –

関連する問題