关于Fieldlist组件过多或form提交数据过多导致数据接收不全被截断问题主要是因为php7.2之后官方新增了 max_input_vars
配置导致的,php默认的 max_input_vars
为 1000 一般情况下不会出现超过 1000 的form提交,但是不排除不会出现。
解决方案
修改调整配置(快捷)
在 php.ini
中搜索 max_input_vars
配置 将该配置放开并调大,然后重启php即可。
max_input_vars = 10000;
优化form提交数量(推荐)
如果使用的是 Fieldlist
组件,我们可以通过fastadmin回调进行优化参考代码如下
HTML
<script type="text/html" id="translate_text_tpl"> <dd class="form-inline"> <div class="row"> <input name="row[<%=name%>][<%=index%>][id]" type="hidden" value="<%=row['id']%>" data-type="tpl"/> </div> </div> </dd></script>
JS
Form.api.bindevent($("form[role=form]"), null, null, function (form, success, error) { $("[data-type='tpl']").attr('disabled', 'disabled'); Form.api.submit($("form[role=form]"),function (){ Fast.api.close(); }); $("[data-type='tpl']").removeAttr('disabled'); return false;});
也可以通过ajax拦截将form表单数据优化后再进行提交
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。