Плагин Datatables Добавить строку PHP - PullRequest
0 голосов
/ 05 октября 2011

Запрос на добавление строки, который должен сделать datatables , похоже не отправляет запрос на страницу .php. когда я нажимаю «Подтвердить» в форме AddNewRow , он только добавляет строку в таблицу данных на веб-странице и не предупреждает меня о любых выводах из php-страницы AddData.php, таких как «Удалить и редактировать», единственный код в этом эхо «тест», чтобы увидеть, работает ли он.

Я использую Редактируемый плагин для Datatables .

Форма, которая требуется в HTML для работы плагина makeEditable AddNewRow, работает нормально, форма отображается с правильными кнопками и полями.

Как я могу проверить, отправляет ли он запрос AJAX? Какие функции или свойства я могу использовать для проверки отправляемых данных и изменения того, какие данные должны быть отправлены?

Вот код для создания моих таблиц данных:

$('#tmTabs').tabs( {
    "show": function(event, ui) {
        //make datatable columns resize to adjust to changing tabs

    }
} );

$('.dataTable').each(function(){ 
    //get ID of current table;
    tblID = $(this).attr("id");
    var pattern = "[0-9]+";
    $tblIDNum = tblID.match(pattern);

    //transform this table into a data table
    $(this).dataTable({ 
        "bProcessing":true,
        "sScrollY": "600px",
        "sScrollX": "100%",
        "bScrollCollapse": true,
        "bPaginate": false,
        "bJQueryUI": true

        }) 

    .makeEditable({
            //ajax requests for server-side processing

            sUpdateURL: "UpdateData.php",



            sAddURL: 'AddData.php',
            sDeleteURL: "DeleteData.php",
            sReadOnlyCellClass: "read_only",

            //Button Customization
            oAddNewRowButtonOptions: { 
            label: "Add...",
                            icons: { primary: 'ui-icon-plus' }
                        },
                        oDeleteRowButtonOptions: {
            label: "Remove",
                            icons: { primary: 'ui-icon-trash' }
                        },
                        oAddNewRowOkButtonOptions: {
            label: "Confirm",
                            icons: { primary: 'ui-icon-check' },
                            name: "action",
                            value: "add-new"
                        },
                        oAddNewRowCancelButtonOptions: { 
            label: "Close",
                            class: "back-class",
                            name: "action",
                            value: "cancel-add",
                            icons: { primary: 'ui-icon-close' }
                        },
            oAddNewRowFormOptions: {
                title: 'Add New Row',
                show: "blind",
                hide: "explode"
                },

            //Link button ids
            sAddDeleteToolbarSelector: ".dataTables_length",
            sAddNewRowFormId: "formAddNewRow"+$tblIDNum,
            sAddNewRowButtonId: "btnAddNewRow"+$tblIDNum,
            sAddNewRowOkButtonId: "btnAddNewRowOk"+$tblIDNum,
            sAddNewRowCancelButtonId: "btnAddNewRowCancel"+$tblIDNum,
            sDeleteRowButtonId: "btnDeleteRow"+$tblIDNum                                
            });
enter code here

});

1 Ответ

0 голосов
/ 10 октября 2011

Используйте сетевую панель firebug, чтобы увидеть, завершен ли вызов Ajax.

Если строка добавлена ​​без предупреждения в таблицу, то кажется, что ваша php-страница вызвана и что она возвратила что-то, что принимается плагином в качестве действительного идентификатора новой строки.

Обратите внимание, что если ваша страница возвращает какой-либо ответ, этот ответ будет считаться идентификатором новой строки. Если вы сможете найти атрибут id новой строки, вы увидите, что он имеет значение, возвращаемое с сервера.

По вашему описанию я считаю, что ваша страница сервера называется, что вставка на стороне сервера не удалась, но плагин считает, что все в порядке, и строка добавлена.

Единственный способ вернуть код ошибки с сервера - принудительно вызвать ошибку Ajax, установив для кода состояния ответа некоторый код ошибки, например, 404 и плагин покажет тело ответа во всплывающем окне и отменит редактирование. Подробнее об обработке ошибок смотрите на http://code.google.com/p/jquery-datatables-editable/wiki/AddingNewRecords#Handling_server_errors

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...