FullCalendar 5:FullCalendarアプリケーション-スケジュールイベントの編集と削除
9640 ワード
FullCalendarはプロジェクト開発に活用できます.この記事では、FullCalendarでスケジュールイベントを新規作成する方法について説明しました.今日は、FullCalendarでスケジュールイベントを編集および削除する方法について説明します.これにより、FullCalendarでの「削除変更」の一連の操作を完了します.
デモンストレーションDEMOダウンロードソースの表示
HTML
前の記事FullCalendarアプリケーションである新規スケジュールイベントと同様に、HTMLページではcal_を使用しています.opt.html、ここでHTMLコードと関連jsとcssファイルのロードは詳しく説明しません.初めて本文を読む場合は、FullCalendarシリーズの最初の文章から見てください.
jQuery
カレンダービューでは、編集するスケジュールイベント項目をクリックしてfancyboxポップアップ編集レイヤを呼び出します.FullCalendarではイベントのeventClickをクリックする方法が用意されています.コードを参照してください.
イベント項目をクリックしてfancyboxを呼び出し、新しいイベントと同様にajax方式で、パラメータを渡すことでフォームページの編集を要求しました.
event.php
event.phpは,要求されたパラメータに基づいてidに対応するカレンダーイベントを読み出し,データの完全な現実を編集フォームに格納する.読み出しと表示編集レイヤ全体のコードをeventに混載する.phpでは、もちろん実際の開発ではzend、thinkphpなどのフレームワークを使ってPHPとhtmlテンプレートを分離する可能性があります.次のコードでは、編集モジュールをカスタム関数editform()に書きます.event.phpは、伝達されたactionパラメータに基づいてeditform()を呼び出す.
肝心なのは日付と時間の表示を処理することで、もちろんこれも本文の重点ではありませんて、みんなはソースコードをダウンロードしてゆっくり研究することができます.
コード処理フォームのコミットと検証を追加する必要があります.上記の新しいイベントと同様にjqueryを使用します.form.jsプラグイン、コードも基本的に新しいイベントと同じです.
do.php
do.phpは、新規、編集、削除イベントを処理するために使用されます.編集イベントは主にフォームpostからのデータを受信し、データテーブルのidに対応するイベントデータの内容を更新し、更新に成功したら1を返すと、フロントエンドが更新に成功したメッセージを受信するとfancyboxレイヤが自動的に閉じられ、カレンダービューがリフレッシュされます.
スケジュールイベントの削除
ポップアップ編集テーブルの単層には、削除ボタンをクリックするとajax要求がdoに送信される削除ボタンもある.phpではdo.phpは、要求に応じてデータテーブルの対応するスケジュールレコードを削除し、成功した情報を返す.
はいphpにはjsも追加する必要があります.
do.phpも削除操作を加えます.
はい、本文はfullCalendarカレンダーイベントの編集と削除を紹介しました.本文で与えられたコードは一貫していません.直接コピーして使用しないことをお勧めします.理解してからテストすることができます.もちろん、怠け者であれば、スケジュールイベントの読み取り、新規作成、編集、削除機能など、本明細書で提供されているパッケージファイルをダウンロードすることができます.Hellwoeba.comご注目ありがとうございます.これから月光光はfullCalendarの最後の操作:スケジュールイベントのドラッグと保存について説明し、まとめます.ご注目ください.
hellowebaに由来するcom』FullCalendarアプリケーション——スケジュールイベントの編集と削除
デモンストレーションDEMOダウンロードソースの表示
HTML
前の記事FullCalendarアプリケーションである新規スケジュールイベントと同様に、HTMLページではcal_を使用しています.opt.html、ここでHTMLコードと関連jsとcssファイルのロードは詳しく説明しません.初めて本文を読む場合は、FullCalendarシリーズの最初の文章から見てください.
jQuery
カレンダービューでは、編集するスケジュールイベント項目をクリックしてfancyboxポップアップ編集レイヤを呼び出します.FullCalendarではイベントのeventClickをクリックする方法が用意されています.コードを参照してください.
$(function() {
$('#calendar').fullCalendar({
//
eventClick: function(calEvent, jsEvent, view) {
$.fancybox({
'type':'ajax',
'href':'event.php?action=edit&id='+calEvent.id
});
}
});
});
イベント項目をクリックしてfancyboxを呼び出し、新しいイベントと同様にajax方式で、パラメータを渡すことでフォームページの編集を要求しました.
event.php
event.phpは,要求されたパラメータに基づいてidに対応するカレンダーイベントを読み出し,データの完全な現実を編集フォームに格納する.読み出しと表示編集レイヤ全体のコードをeventに混載する.phpでは、もちろん実際の開発ではzend、thinkphpなどのフレームワークを使ってPHPとhtmlテンプレートを分離する可能性があります.次のコードでは、編集モジュールをカスタム関数editform()に書きます.event.phpは、伝達されたactionパラメータに基づいてeditform()を呼び出す.
肝心なのは日付と時間の表示を処理することで、もちろんこれも本文の重点ではありませんて、みんなはソースコードをダウンロードしてゆっくり研究することができます.
コード処理フォームのコミットと検証を追加する必要があります.上記の新しいイベントと同様にjqueryを使用します.form.jsプラグイン、コードも基本的に新しいイベントと同じです.
$(function(){
$(".datepicker").datepicker({minDate: -3,maxDate: 3});
$("#isallday").click(function(){
if($("#sel_start").css("display")=="none"){
$("#sel_start,#sel_end").show();
}else{
$("#sel_start,#sel_end").hide();
}
});
$("#isend").click(function(){
if($("#p_endtime").css("display")=="none"){
$("#p_endtime").show();
}else{
$("#p_endtime").hide();
}
$.fancybox.resize();//
});
//
$('#add_form').ajaxForm({
beforeSubmit: showRequest, //
success: showResponse //
});
});
function showRequest(){
var events = $("#event").val();
if(events==''){
alert(" !");
$("#event").focus();
return false;
}
}
function showResponse(responseText, statusText, xhr, $form){
if(statusText=="success"){
if(responseText==1){
$.fancybox.close();
$('#calendar').fullCalendar('refetchEvents'); //
}else{
alert(responseText);
}
}else{
alert(statusText);
}
}
do.php
do.phpは、新規、編集、削除イベントを処理するために使用されます.編集イベントは主にフォームpostからのデータを受信し、データテーブルのidに対応するイベントデータの内容を更新し、更新に成功したら1を返すと、フロントエンドが更新に成功したメッセージを受信するとfancyboxレイヤが自動的に閉じられ、カレンダービューがリフレッシュされます.
include_once('connect.php');//
$action = $_GET['action'];
if($action=='add'){
//
}elseif($action=="edit"){
//
$id = intval($_POST['id']);
if($id==0){
echo ' !';
exit;
}
$events = stripslashes(trim($_POST['event']));//
$events=mysql_real_escape_string(strip_tags($events),$link); // HTML ,
$isallday = $_POST['isallday'];//
$isend = $_POST['isend'];//
$startdate = trim($_POST['startdate']);//
$enddate = trim($_POST['enddate']);//
$s_time = $_POST['s_hour'].':'.$_POST['s_minute'].':00';//
$e_time = $_POST['e_hour'].':'.$_POST['e_minute'].':00';//
if($isallday==1 && $isend==1){
$starttime = strtotime($startdate);
$endtime = strtotime($enddate);
}elseif($isallday==1 && $isend==""){
$starttime = strtotime($startdate);
$endtime = 0;
}elseif($isallday=="" && $isend==1){
$starttime = strtotime($startdate.' '.$s_time);
$endtime = strtotime($enddate.' '.$e_time);
}else{
$starttime = strtotime($startdate.' '.$s_time);
$endtime = 0;
}
$isallday = $isallday?1:0;
mysql_query("update `calendar` set `title`='$events',`starttime`='$starttime',`endtime`='$endtime',
`allday`='$isallday' where `id`='$id'");
if(mysql_affected_rows()==1){
echo '1';
}else{
echo ' !';
}
}elseif($action=="del"){
//
}else{
}
スケジュールイベントの削除
ポップアップ編集テーブルの単層には、削除ボタンをクリックするとajax要求がdoに送信される削除ボタンもある.phpではdo.phpは、要求に応じてデータテーブルの対応するスケジュールレコードを削除し、成功した情報を返す.
はいphpにはjsも追加する必要があります.
$(function(){
...
//
$("#del_event").click(function(){
if(confirm(" ?")){
var eventid = $("#eventid").val();
$.post("do.php?action=del",{id:eventid},function(msg){
if(msg==1){//
$.fancybox.close();
$('#calendar').fullCalendar('refetchEvents'); //
}else{
alert(msg);
}
});
}
});
});
do.phpも削除操作を加えます.
...
}elseif($action=="del"){//
$id = intval($_POST['id']);
if($id>0){
mysql_query("delete from `calendar` where `id`='$id'");
if(mysql_affected_rows()==1){
echo '1';
}else{
echo ' !';
}
}else{
echo ' !';
}
}
はい、本文はfullCalendarカレンダーイベントの編集と削除を紹介しました.本文で与えられたコードは一貫していません.直接コピーして使用しないことをお勧めします.理解してからテストすることができます.もちろん、怠け者であれば、スケジュールイベントの読み取り、新規作成、編集、削除機能など、本明細書で提供されているパッケージファイルをダウンロードすることができます.Hellwoeba.comご注目ありがとうございます.これから月光光はfullCalendarの最後の操作:スケジュールイベントのドラッグと保存について説明し、まとめます.ご注目ください.
hellowebaに由来するcom』FullCalendarアプリケーション——スケジュールイベントの編集と削除