Javascript 错误-赢得完整日历';t柱
我们如何使以下工作正常进行,以便它发布事件?Javascript 错误-赢得完整日历';t柱,javascript,json,ajax,fullcalendar,Javascript,Json,Ajax,Fullcalendar,我们如何使以下工作正常进行,以便它发布事件? 事件可以添加到日历中,我们只需要将它们发布到我们的API中。小提琴: 这是我第一次使用Ajax $(document).ready(function() { /* date store today date. d store today date. m store current month. y store current year. */ var date =
事件可以添加到日历中,我们只需要将它们发布到我们的API中。小提琴: 这是我第一次使用Ajax
$(document).ready(function()
{
/*
date store today date.
d store today date.
m store current month.
y store current year.
*/
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar(
{
header:
{
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultView: 'agendaWeek',
selectable: true,
selectHelper: true,
select: function(start, end, allDay)
{
var title = prompt('Event Title:');
if (title)
{
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: allDay
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
editable: true,
events: [
{
title: 'All Day Event',
start: new Date(y, m, 1)
},
{
title: 'Long Event',
start: new Date(y, m, d-5),
end: new Date(y, m, d-2)
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d-3, 16, 0),
allDay: false
},
{
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d+4, 16, 0),
allDay: false
},
{
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false
},
{
title: 'Lunch',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false
},
{
title: 'Birthday Party',
start: new Date(y, m, d+1, 19, 0),
end: new Date(y, m, d+1, 22, 30),
allDay: false
},
{
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/'
}
]
});
});
$(document).ready(function () {
$('#fullcal').fullCalendar({
eventClick: function() {
alert('a day has been clicked!');
},
events: function (start, end, callback) {
$.ajax({
type: "POST", //WebMethods will not allow GET
url: "/events-truett-volunteership.html", //url of a webmethod - example below
data: "{'userID':'" + $('#<%= hidUserID.ClientID %>').val() + "'}", //this is what I use to pass who's calendar it is
//completely take out 'data:' line if you don't want to pass to webmethod - Important to also change webmethod to not accept any parameters
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (doc) {
var events = []; //javascript event object created here
var obj = $.parseJSON(doc.d); //.net returns json wrapped in "d"
$(obj.event).each(function () { //yours is obj.calevent
events.push({
title: $(this).attr('title'), //your calevent object has identical parameters 'title', 'start', ect, so this will work
start: $(this).attr('start'), // will be parsed into DateTime object
end: $(this).attr('end'),
id: $(this).attr('id')
});
});
callback(events);
}
});
}
});
});
$(文档).ready(函数()
{
/*
日期商店今天日期。
我今天去商店。
我本月去商店。
y商店本年度。
*/
变量日期=新日期();
var d=date.getDate();
var m=date.getMonth();
var y=date.getFullYear();
var calendar=$(“#calendar”).fullCalendar(
{
标题:
{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
defaultView:'agendaWeek',
是的,
selectHelper:对,
选择:功能(开始、结束、全天)
{
var title=prompt('事件标题:');
如果(标题)
{
日历。完整日历('renderEvent',
{
标题:标题,,
开始:开始,
完:完,,
全天
},
true//使事件“持续”
);
}
日历。完整日历(“取消选择”);
},
是的,
活动:[
{
标题:“全天活动”,
开始:新日期(y、m、1)
},
{
标题:“长期活动”,
开始日期:新日期(y、m、d-5),
结束:新日期(y、m、d-2)
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d-3、16、0),
全天:错
},
{
身份证号码:999,
标题:“重复事件”,
开始日期:新日期(y、m、d+4、16、0),
全天:错
},
{
标题:"会议",,
开始日期:新日期(y、m、d、10、30),
全天:错
},
{
标题:"午餐",,
开始日期:新日期(y、m、d、12、0),
结束:新日期(y、m、d、14、0),
全天:错
},
{
标题:"生日派对",,
开始:新日期(y、m、d+1、19、0),
结束:新日期(y、m、d+1、22、30),
全天:错
},
{
标题:“点击谷歌”,
开始日期:新日期(y、m、28),
结束:新日期(y、m、29),
网址:'http://google.com/'
}
]
});
});
$(文档).ready(函数(){
$('#fullcal')。fullCalendar({
eventClick:function(){
警报('已单击一天!');
},
事件:函数(开始、结束、回调){
$.ajax({
键入:“POST”//WebMethods将不允许GET
url:“/events truett autonovatship.html”//webmethod的url-下面的示例
数据:“{'userID':'”+$('#').val()+“}”,//这是我用来传递谁的日历的内容
//如果您不想传递给webmethod,请完全删除“data:”行-将webmethod更改为不接受任何参数也很重要
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(doc){
var events=[];//此处创建的javascript事件对象
var obj=$.parseJSON(doc.d);//.net返回以“d”包装的json
$(obj.event)。每个(函数(){//您的是obj.calevent
事件。推({
title:$(this.attr('title'),//您的calevent对象具有相同的参数'title','start',etc,因此这将起作用
start:$(this).attr('start'),//将被解析为DateTime对象
end:$(this.attr('end'),
id:$(this.attr('id'))
});
});
回调(事件);
}
});
}
});
});
您肯定会有一个提交处理程序或按钮单击来发送数据,所以在内部,只需获取所有客户端事件,然后使用ajax序列化并发送到服务器
$('.submitEvent').click(function(){
var clientEvent = JSON.stringify($('#calendar').fullCalendar( 'clientEvents'));
$.ajax({ // ajax call starts
url: url
data: clientEvent,
dataType: 'json',
success: function(data)
{
// success handler
}
});
});
HTML
<input type="button" class="btn btn-primary submitEvent" value="SUBMIT"/>
谢谢你能做一把小提琴吗。。您想将所有事件以POST形式发送到服务器,或者希望在日历中显示所有事件。?创建一个提琴,以更好的方式解释您的问题。@Wellwisher这里是提琴,事件显示很好,我们只需要以POST形式发送谢谢@这是小提琴:谢谢!这对我来说并不重要。。你能在那里看到日历吗?对不起,这个基本问题,我是要将它添加到当前Javascript的底部,还是现在用ajax调用将它切换出来?谢谢你的帮助again@H.Ing答案更新..如果有效,请告诉我。。否则请分享链接