如果我添加了一个事件,然后刷新页面并添加另一个它可以正常工作,但如果我添加了一个事件,然后添加了另一个而没有刷新页面,那么它将保存在同一个时间段中。
我的猜测有些变量会保留其值,直到刷新页面但我无法知道哪个变量是错误。
我正在使用$ .ajax调用来发送和获取和修改数据库中的数据
这是代码:
javascript方:
'eventNew':function(calEvent, $event) {
calendar_new_entry(calEvent,$event);
}
});
});
function calendar_new_entry(calEvent,$event)
{
var ds=calEvent.start;
var df=calEvent.end;
var body = $('#calendar_new_entry_form_body').val('');
var title = $('#calendar_new_entry_form_title').val('') ;
$("#calendar_new_entry_form").dialog({
autoOpen: false,
height: 440,
width: 550,
modal: true,
close: function() // onClose
{
$('#calendar_wrapper').weekCalendar('removeUnsavedEvents');
},
buttons:
{
'Save': function()
{
var body = $('#calendar_new_entry_form_body').val();
var title = $('#calendar_new_entry_form_title').val() ;
var data = {body: body,title:title,start:ds.getTime()/1000,end:df.getTime()/1000};
$.ajax({
type: 'POST',
url: baseUrl+'calendar/add',
data: data,
dataType: 'json',
success: function(json)
{
if (json.status == "success")
{
alert('done');
$("#calendar_wrapper").weekCalendar("refresh");
}
}
});
$(this).dialog('close');
}
这是php方面:
function add()
{
$start = date('c',(int)($this->input->post('start')+3600));
$end = date('c',(int)($this->input->post('end')+3600));
$title = $this->input->post('title');
$body = $this->input->post('body');
$data = array(
'start' => $start,
'end' => $end,
'title' => $title,
'body' => $body
);
if($this->events->add($data))
{
$return = array(
'status' => 'success',
'message' => 'Event has been saved'
);
// print out a JSON encoded success message
echo json_encode($return);
}
else
{
$return = array(
'status' => 'failed',
'message' => 'Failed to save this event'
);
// print out a JSON encoded error message
echo json_encode($return);
}
}
我也忘了提到我正在使用codeigniter,所以前面的代码是控制器,这段代码适用于模型:
function add($data)
{
$this->db->insert('events', $data);
return $this->db->insert_id();
}
提前感谢您的帮助