Multi-row editing doesn't work for more then about 35-40 rows.
Multi-row editing doesn't work for more then about 35-40 rows.
Datatables version: 1.11.3
Editor version: 2.0.5
I have just ralized that for my all tables, while I'm trying to edit rows using 'Multi-row editing' function, there is always a critical amount of rows I can edit successfully. For example, if I select 34 rows, then multi-row editing is working perfectly fine (I'm using server side processing + PHP/Laravel library), but if select 35th row, then there is an error: "system error has occurred (More information).". I have posted it as a bug, because it seems that error occurs on the JS plugin side, because for mentioned 34 rows, when you take a look at the debugged POST information, there is an "action" => "edit" parameter included in the request, but for 35 rows or more the "action" parameter is missing. This bug is repeatable for my all tables, but the critical amount of rows I can edit differs. My first thought was that the problem would be related eg. to the 'max_input_vars' variable in the php.ini settings, but it seems that "action" parameter is missing earlier, while posting by ajax.
Have you encountered such a problem before?
Best Wishes,
Kamil
This question has an accepted answers - jump to answer
Answers
Have you followed the troubleshooting steps in the technote link in the error?
https://datatables.net/manual/tech-notes/12
Let us know what you find. According to the technote the response form the server is not as expected.
Kevin
FWIW I think the above scenario also applies to multiple deletes.
A while ago I tried to delete a pagefull (probably 50) and got the "system error" message. I didn't follow it through at the time as I was busy elsewhere in my code.
"According to the technote the response form the server is not as expected." - Yes, the response from the server is not as expected, but it's obvious in this case, because server side can not handle the request while "action" parameter is missing.
The bug here is that while editing 34 rows "action" paramter in the sent request is included, but while editing 35 rows or more "action" parameter is missing.
My guess is that your server isn't allowing that many parameters to be submitted. PHP has a
max_input_vars
parameter which you might well be hitting. Details on that parameter are available here.Allan
That was my first thought too as I mentioned in the report description:
Thank you Allan, you've prompted me to re-check, and yes it was related to the
max_input_vars
. I had to forgot to restart Apache or sth. Btw.system error has occurred (More information)
error is only present forDataTables-1.10.21
, for latest versionDataTables-1.11.3
there is a precise messageWarning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0
. I've missed this message, because after update to the latest version I was focused on the debugger, and the result was same as on the previous version.Super - good to hear you've got it now
Allan
Can this specific error message also be applied to multiple deletes, which are still showing "system error" (although the correct error is shown in the error log)?
Yes, it is possible as we send the row information that Editor knows about on delete, rather than just the row id's to be deleted. So it would be possible to hit a max_inputs_vars issue if you are doing a large number of deletes.
Allan