I using datatable editor to display rows

This is the code i'm using

var editor; 
$(document).ready( function () {
editor = new $.fn.dataTable.Editor( {
"ajaxUrl": {
                    "create":        "admin/save",

                },
                "domTable": "#example",
                "fields": [ {
                        "label": "username:",
                        "name": "username"
                    }, {
                        "label": "password:",
                        "name": "password",
                        "type":"password"
                    }, {
                        "label": "fname:",
                        "name": "fname"
                    }, {
                        "label": "lname:",
                        "name": "lname"
                    }, {
                        "label": "email:",
                        "name": "email"
                    },{
                        "label": "address:",
                        "name": "address"
                    }
                ]
            } );

            $('#example').dataTable( {

                "sDom": "Tfrtip",

                        "aoColumns": [
                        { "mData": "username"},
                        { "mData": "password" },
                        { "mData": "fname" },
                        { "mData": "lname" },
                        { "mData": "email" },
                        { "mData": "address" }
                    ],

                "oTableTools": {
                    "sRowSelect": "single",
                    "aButtons": [
                        { "sExtends": "editor_create", "editor": editor },
                        { "sExtends": "editor_edit",   "editor": editor },
                        { "sExtends": "editor_remove", "editor": editor }
                    ]
                }
            } );
        } );

How can I pass the form data to controller page.I also given name field but it is not added to element. create : admin/save Here admin is the controller name and save is the action name.

Please help me.

有帮助吗?

解决方案

Using Datatables with the Editor extension, it sends data to the server to be processed. The client sends three fields: action, id and data. The action can be create, edit or delete. The id is only filled in for edit.

So in short, you can use this controller:

<?php
namespace MyModule\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\JsonModel;

class DatatablesController extends AbstractActionController
{
    public function saveAction()
    {
        if (!$this->getRequest()->isPost()) {
            $response = $this->getResponse();
            $response->setStatusCode(405); // Method not allowed
            return $response;
        }

        $action = $this->params()->fromPost('action', null);
        $data   = array();
        switch ($action) {
            case 'create':
                $data = $this->createRow();
                break;
            case 'edit':
                $data = $this->editRow();
                break;
            case 'delete':
                $data = $this->deleteRow();
                break;
            default:
                $response = $this->getResponse();
                $response->setStatusCode(422); // Unprocessable entity
                return $response;
        }

        $model = new JsonModel($data);
        return $model;
    }

    protected function createRow()
    {
        $data = $this->params()->fromPost('data', array());

        // Create a new entity with $data

        // Return the properties from the new entity
        return array();
    }

    protected function editRow()
    {
        $id   = $this->params()->fromPost('id');
        $data = $this->params()->fromPost('data', array());

        // Fetch the entity with id $id
        // Update the entity with $data

        // Return the properties from the entity
        return array();
    }

    protected function deleteRow()
    {
        $ids = $this->params()->fromPost('data', array());

        // Remove all entities with an id in the array $ids
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top