0

DHTMLX スケジューラを使用していて、ポップアップ イベント エディタの削除ボタンをクリックしたときにイベントを削除しようとしています。以下は私のコード リファレンスです。

scheduler.attachEvent("onEventDeleted", function(id,ev){
    $.ajax({
         url : "calendar.php",
         type: 'post',
         data: { event_id : id},
         success: function(e){
             if($.trim(e) === "success"){
                 alert("Event was successfully deleted");
             }
         }
  });
});

上記のコードは機能します (イベントは正常に削除されました) が、問題は、ポップアップ エディターからキャンセル ボタンをクリックしたときに「onEventDeleted」もトリガーされたことです。アイデア、ヘルプ、提案、推奨事項、助けてください。

4

1 に答える 1

1

新しいイベントの作成中にキャンセルを押した場合にのみ発生します。この場合、新しく作成されたイベントがカレンダーから削除されるため、onEventDeleted のトリガーが期待されます。その更新をバックエンドに送信しないために、このメソッド http://docs.dhtmlx.com/scheduler/api__scheduler_getstate.htmlを使用できます

したがって、次のようにコードを更新すると、すべてがうまくいくはずです。

scheduler.attachEvent("onEventDeleted", function(id,ev){
    if(scheduler.getState().new_event)
      return;

    $.ajax({
         url : "calendar.php",
         type: 'post',
         data: { event_id : id},
         success: function(e){
             if($.trim(e) === "success"){
                 alert("Event was successfully deleted");
             }
         }
  });
});
于 2016-02-10T10:10:52.010 に答える