0

特定のユーザーが送信された後、X時間無効にしたいフォームがあります。タイマーセッション変数を使用する必要があることは知っていますが、オンラインでタイマーを使用した例を見たことがないため、実装方法がわかりません。

これが私の送信イベントマップです:

Template.myform.events({
  'submit': function (e, t) {
    e.preventDefault();
    submitme();
    tempmarker.dragging.disable();
  }
});

セッション変数に関して私が持っているより具体的な質問:それらはどれほど「安全」ですか?つまり、ユーザーはローカルキャッシュを空にすることで、それらをリセットできますか?

4

1 に答える 1

0

あなたがやっているように、イベントハンドラーでフォームを無効にしてから、特定の時間後に再び有効にするタイムアウトを設定することができます:

Template.myform.events({
  'submit': function (e, t) {
    e.preventDefault();
    submitme();
    tempmarker.dragging.disable();
    // re-enable after 5s
    Meteor.setTimeout(function() { tempmarker.dragging.enable(); }, 5000);
  }
});

Sessionin Meteor は、クライアントのメモリ内で Meteor によって管理される単なるオブジェクトです。キャッシュされていません。ページをリロードすると、Meteor が再び起動し、すべてのSessionデータが再初期化されます。セッションを使用してアプリケーションの状態を保存しますが、たとえば、コンソールからセッション値をいじった場合にアプリ自体を復元できるようにアプリを構築します。

于 2013-03-18T21:35:50.500 に答える