如果我添加了一个事件然后刷新页面并添加另一个它工作正常但是如果我添加一个事件然后添加另一个事件而不先刷新页面它保存在同一个时间段中。
我猜有些变量会在页面刷新之前保持它们的值,但我不知道哪个变量是错误的。
我正在使用 $.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();
}
提前感谢您的帮助