1

DOM 操作用のコードをどこに置くべきか知りたいです。フォーム送信などのいくつかのイベントのように。

私がそれらを置くとき:

Template.friendRow.rendered = function() {  
   function sendMessage() {
     console.log("Message sent");
   }
   $(document).on('submit', 'form.sendMessageForm', sendMessage);
}

コンソールには、「メッセージが送信されました」というメッセージが 2 回表示されます。

それを修正する理由と方法、またはコードを配置する場所は?

4

1 に答える 1

0

.rendered()はフォーム送信の適切な場所ではありません。テンプレートがレンダリングまたは再レンダリングされるたびに呼び出されるコールバックです。

フォーム処理コードを、clickフォーム送信に関連付けられている任意のイベント ハンドラーに移動します。例えば

'click #submit_btn' : function(){
   // your form submission code
}

http://docs.meteor.com/#eventmapsを参照してください。

于 2013-06-25T11:58:01.557 に答える