PHP jqGrid可以编辑添加/编辑表单属性吗?
当我添加/编辑数据时,我希望将数据保存到数据库MySQL中。下面是我的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
<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错误