extjs3.3日历

时间:2011-08-10 00:55:58

标签: php extjs calendar

我尝试使用extjs日历的ajax请求。唯一的问题是在创建新记录时。如何将eventId发送回表单。我想在收到新记录后测试更新记录。当我尝试更新它时,发回自动增量内部记录而不是返回ajax响应eventId。 我做了什么。

'eventadd': {
    fn: function (win, rec) {
        win.hide();
        rec.data.IsNew = false;
        rec.data.eventId = 'testing'; // tengok boleh tak bypass
        this.eventStore.add(rec);
        this.showMsg('Event ' + rec.data.Title + ' was added');
        var data;
        reminder = function (data) {
            var remind;
            if (!data) {
                remind = null;
            } else {
                remind = data;
            }
            return remind;
        };
        Ext.Ajax.request({
            url: '../controller/eventController.php',
            params: {
                method: 'create',
                calendarId: rec.data.CalendarId,
                eventTitle: rec.data.Title,
                eventStart: rec.data.StartDate,
                eventEnd: rec.data.EndDate,
                eventIsAllDay: rec.data.IsAllDay,
                eventReminder: rec.data.Reminder,
                eventIsNew: rec.data.IsNew,
                leafId: leafId
            },
            success: function (response, options) {

                var jsonResponse = Ext.decode(response.responseText);


                if (jsonResponse.success == true) {
                    title = systemLabel;

                } else {
                    title = systemErrorLabel;
                }
                Ext.MessageBox.alert(title, jsonResponse.message);
            },
            failure: function (response, options) {
                // critical bug extjs
                var jsonResponse = Ext.decode(response.responseText);

                Ext.MessageBox.alert(systemErrorLabel, jsonResponse.message);
            }
        });
    },
    scope: this
},

响应输出。

{"success":true,"message":"Record Created","data":{"eventId":13},"eventId":13}

更新记录时,我唯一的问题是eventId。 FireBug控制台参数

calendarId  1
eventEnd    2011-08-11T01:00:00
eventId 10000
eventIsAllDay   false
eventIsNew  false
eventReminder   
eventStart  2011-08-11T00:00:00
eventTitle  oh update4d
leafId  516
method  update

1 个答案:

答案 0 :(得分:0)

在创建时,事件窗口仅向新记录添加自动递增的ID,以便在将其发送到服务器之前在本地数据存储中具有唯一的ID。在使用真实数据库PK替换id之后,服务器代码负责生成响应。然后,任何后续的CRUD操作都将使用正确的ID。