Я использую DataTable
в веб-приложении и обнаружил, что DataTable несовместим со встроенными формами с <button type="submit" formaction="..."></button>
. В IE 11 не работает; submit не работает, но в Chrome 65 и Firefox 59 работает.
Таблица представляет собой DataTable
:
$('#dataTable-script').DataTable({
"scrollX": true, /* horizontal scroll */
"responsive": false, /* turn this OFF to enable scrollX. Conflict. */
"columnDefs": [
{ "visible": true, "targets": [0, 1, 2, 3, 4] }, /* always show 5 columns */
{ "orderable": false, "targets": [9] } /* the last column not sortable */
],
"order": [
[ 6, 'desc' ] /* initial ordering */
],
"searching": true, /* enable searching/filtering; nothing to do with show/hide search input */
/* dom elements manipulation */
/* f: filter(search input); l: combobox of each page size, _T_ble, _I_nformation, _P_agination, p_R_ocessing-element. */
"dom": "<'row'<'col-md-7 col-lg-9 col-sm-4'l><'col-md-4 col-lg-3 col-sm-5'f>>" + /* 'l' and 'f' on the same line */
"<'row'<'col-md-12't>>" + /* table with correct margin */
"<'row'<'col-md-7 col-lg-9 col-sm-4'i><'col-md-4 col-lg-3 col-sm-5 pull-right'p>>" + /* 'i' and 'p' on the same line */
"r",
"processing": true, /* indicate "processing..." when doing time-consuming task. Related to 'dom':'r': without 'r' it is hidden. */
)};
С каждой строкой как формой:
<tbody>
{% for script in scripts %}
<tr class="odd gradeX">
<form enctype="multipart/form-data" method="post" id="formManager{{script.id}}">
{% csrf_token %}
<input type='hidden' name='scriptID' value='{{script.id}}' />
<td>{{script.name}}</td>
<td>{{script.category.name}}</td>
<td>{{script.platform.name}}</td>
...
И в конце каждой строки кнопка вроде;
<button type="submit" formaction="{% url 'deleteScript' %}"
onclick="return confirm()"
class="btn btn-danger btn-circle" title="Delete script">
<i class="fa fa-times"></i>
</button>
Я создал демонстрацию в jsfiddle, однако она показывает, что с DataTable она не работает даже в Chrome. ни Firefox, но это неправда; на самом деле он просто останавливается в IE, протестирован только в IE 11. Однако, если вы удалите определение DataTable, оно просто работает в IE и других современных веб-обозревателях, что то же самое с моим реальным кодом.
Я искал и обнаружил, что люди, говорящие о DataTables
упорядочении, даже отключенном, удалят некоторые атрибуты и перестанут работать IE, но Chrome и FireFox могут работать без него.
data
самостоятельно, прежде чем отправлять ее на целевой URL-адрес с помощью ajax. - person Nope   schedule 28.03.2018form
не может быть дочерним по отношению к тегуtable
илиtr
, поскольку вы его закодировали. Тегform
должен быть либо родителем тегаtable
, либо дочерним элементом тегаtd
. На самом деле другой респондент в ссылка вы включили в свой ответ то же самое. - person topshot   schedule 03.04.2019