Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP jqGrid可以编辑添加/编辑表单属性吗?_Php_Jqgrid - Fatal编程技术网

PHP jqGrid可以编辑添加/编辑表单属性吗?

PHP jqGrid可以编辑添加/编辑表单属性吗?,php,jqgrid,Php,Jqgrid,当我添加/编辑数据时,我希望将数据保存到数据库MySQL中。下面是我的jqgrid: <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/start/jquery-ui.css" type="text/css" rel="Stylesheet" /> <link href="/css/style.css" type="text/css" rel="Stylesh

当我添加/编辑数据时,我希望将数据保存到数据库MySQL中。下面是我的jqgrid:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/start/jquery-ui.css"
          type="text/css" rel="Stylesheet" />
    <link href="/css/style.css" type="text/css" rel="Stylesheet" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.js"></script>
    <script src="/js/custom.js"></script>
    <link rel='stylesheet' type='text/css' href='http://www.trirand.com/blog/jqgrid/themes/ui.jqgrid.css' />
    <script type='text/javascript' src='http://www.trirand.com/blog/jqgrid/js/jquery-ui-custom.min.js'></script>        
    <script type='text/javascript' src='http://www.trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js'></script>
    <script type='text/javascript' src='http://www.trirand.com/blog/jqgrid/js/jquery.jqGrid.js'></script>
<script>
$(document).ready(function() {
    $("#myDataList").jqGrid({
        url: "<?= base_url(); ?>getmydata",
        datatype: "json",
        autowidth: true,
        mtype: "GET",
        colNames: ["Date", "Description", "Category", "Debit", "Credit", "Type", "Amount"],
        colModel: [{
            name: "transactiondate",
            editable: true,
            editrules: {
                date: true
            },
            formatter: 'date',

            formatoptions: {
                srcformat: "Y-m-d",
                newformt: "Y-m-d"
            },
            width: 1
        }, {
            name: "description",
            editable: true,
            width: 3
        }, {
            name: "category",
            editable: true,
            width: 1
        }, {
            name: "debit",
            sort: false,
            formatter: 'number',
            width: 1
        }, {
            name: "credit",
            sort: false,
            formatter: 'number',
            width: 1
        }, {
            name: "type",
            editable: true,
            hidden: true,
            editrules: {
                edithidden: true
            },

            formatter: function(cellvalue) {
                if (cellvalue == 'W') {
                    return 'Withdraw';
                } else if (cellvalue == 'D') {
                    return 'Deposit';
                } else {
                    return '';
                }
            },
            edittype: 'custom',
            editoptions: {
                custom_element: radioelem,
                custom_value: radiovalue
            }

        }, {
            name: "amount",
            editable: true,
            hidden: true,
            editrules: {
                edithidden: true
            }
        }],
        pager: "#myDataListPager",
        rowNum: 10,
        rowList: [10, 20],
        sortname: "transactiondate",
        sortorder: "desc",
        height: 'auto',
        viewrecords: true,
        gridview: true,
        caption: "",
        editurl: "<?= base_url(); ?>getmydata/action",
    });
    jQuery("#myDataList").jqGrid('navGrid', '#myDataListPager', {
        add: true,
        edit: true,
        del: true,
        search: true
    }, { //prmEdit
        closeAfterEdit: true,
        afterSubmit: function() {}
    }, { //prmAdd
        closeAfterAdd: true,
        afterSubmit: function() {}
    });
});

<table id="myDataList"></table>
<div id="myDataListPager"></div>

我现在的问题是编辑或添加后,表单不会关闭。另外,是否可以重新调整添加/编辑表单宽度和输入宽度?例如,我希望将描述输入作为textarea而不是textfield

如果我目前理解了您的第一个问题,那么您应该向“添加”和“编辑”选项添加“重新创建表单:true”选项。jqGrid的默认行为是隐藏添加/编辑表单。在下一次调用中,表单将再次显示,并且将尝试调整某些属性。因此,如果用户先单击“添加”按钮,然后单击“编辑”,那么将首先创建“添加表单”,稍后在单击“编辑”按钮时,jqGrid将显示“添加表单”,并只设置一些属性标题、调用一些回调等。在我看来,使用recreateForm更安全:true,它首先删除任何旧for(如果存在),然后才创建新表单


textarea而不是输入字段的用法可以通过用法属性:edittype:textarea进行管理。

您好,感谢您的回复,我在单击提交后收到了此错误消息Uncaught TypeError:无法读取未定义的属性“0”。我可以再问您一个问题吗:在MySQL中,日期以2014-8-22此格式存储,在我的网格列中,这是我设置格式设置器的内容:“日期”,格式选项:{srcformat:Y-m-d,newformt:Y-m-d}但是当加载网格时,日期显示在2014年8月22日,我试图将srcformat更改为m/d/Y,mm/dd/yyyy,mm/dd/yyyyy都会返回一个不同的日期,例如10/8/2188 1/1970。。。我想在2014年8月22日显示日期,我应该设置什么格式?您必须仔细填写物业名称。存在newformat,但没有newformt属性。srcformat:Y-m-d是默认值。所以可以使用formatter:date,formattoptions:{newformat:Y-m-d}。无法读取需要调试的未定义属性“0”时出错。您使用哪个版本的jqGrid?我建议使用jquery.jqGrid.src.js而不是jquery.jqGrid.min.js,并至少在IE的开发者工具中调试代码,按F12开始,然后开始调试JavaScript代码。您将在错误期间看到调用堆栈和所有变量值。@user3687053:您在当前问题中提出的问题是否已解决?感谢您的回答,没有,仍在尝试调试属性0错误