第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Fullcalender V5 RefetchEvents 問題

Fullcalender V5 RefetchEvents 問題

PHP
拉丁的傳說 2023-10-15 15:37:10
我正在使用 Fullcalender Scheduler V5。我添加了 calendar.refetchEvents(); 在 eventDrop、eventResize、eventClick 的末尾也是如此。它運(yùn)作良好。但是當(dāng)我在其他函數(shù)中使用它來添加/編輯事件時,它不起作用。這是我的其他代碼:/-----------------------Load.php------------------------------//    <?phprequire_once('../../common/conn_check.php');require_once('../../common/common.php');$data=array();$query ="SELECT * FROM event_schedule "; $statement = pg_query($conn,$query);$result = pg_fetch_all($statement);foreach($result as $row){     $data[] = array(  'id' => $row["id"],  'resourceId' => $row["Room"],  'title' =>$row["EventName"],  'start'   => $row["StartTime"],  'end'   => $row["EndTime"] );}echo json_encode($data);?>/---------------AddEvents.php-------------------//   <?php    require_once('../../common/conn_check.php');//for using the mysql connection    require_once('../../common/common.php');//common function                if (isset($_POST['start']) && isset($_POST['end'])){        $EventName = $_POST['EventName'];        $Room = $_POST['Room'];        $start = $_POST['start'];        $end = $_POST['end'];          $sql="INSERT INTO event_schedule           (Room,EventName, StartTime,EndTime)           VALUES            ('$EventName','$Room','$start', '$end')";                           $result = pg_query($conn,$sql);            echo json_encode(array('success'=>true));    }        ?>我已經(jīng)嘗試了好幾個星期了,因此我失去了信心。作為一個初學(xué)者,我無法弄清楚出了什么問題。有人請幫忙。
查看完整描述

1 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個贊

這里最簡單的選擇是使其成為calendar全局的,以便可以在所有范圍內(nèi)訪問它。


例如


<script>

var calendar; //global variable


document.addEventListener('DOMContentLoaded', function() {

  var calendarEl = document.getElementById('calendar');


  calendar = new FullCalendar.Calendar(calendarEl, { //don't re-declare it here, just assign it


///...etc

但全局變量通常不是最佳實(shí)踐 - 如果您不小心,它可能會導(dǎo)致其他問題。因此,另一個選擇是停止使用內(nèi)聯(lián)事件處理程序來觸發(fā) saveData,而是在 DOMContentLoaded 塊內(nèi)添加一個事件處理程序,當(dāng)然該塊calendar已經(jīng)在范圍內(nèi)。您使 saveData 從 AJAX 調(diào)用返回一個 Promise,然后在事件處理程序中向其附加一個.done()回調(diào),并在其中調(diào)用 refetchEvents。


所以在這個版本中,你的按鈕將變成


<button type="button" class="btn btn-primary" id="savedata">SAVE</button>

saveData() 將變?yōu)椋?/p>


function saveData()

{

  var Room = document.getElementById("Room").value;      

  var EventName = document.getElementById("EventName").value;

  var start = document.getElementById("start").value;

  var end = document.getElementById("end").value;


  var promise = $.ajax({

    url: "addEvent.php",

    type:"POST",

    data:{ EventName: EventName, start:start, end: end },

  });

 

  $('#ModalAdd').modal('hide');

  return promise;

}

最后在 DOMContentLoaded 區(qū)域:


document.addEventListener('DOMContentLoaded', function() {


   //....everything which is already there....and then...


   $("#savedata").click(function() {

     var promise = saveData();


     promise.done(function(data) {

       calendar.refetchEvents();

     });

   });

});

盡管看起來需要更多工作,但這是一個比使用全局變量更好的結(jié)構(gòu)化版本。



查看完整回答
反對 回復(fù) 2023-10-15
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號