ajax - 当我第二次提交表单而没有刷新表单时,数据会多次附加
问题描述
通过模态时,我在 laravel 数据表插件中使用 ajax 在表中附加数据。1)。当我输入它附加在表上的数据时,但同时它在数据表中没有显示任何数据,直到我刷新它
2)。第二次当我第二次输入数据时,它会多次附加到表上
我尝试这样做来重置模态以检查它是否是由于模态内部的数据造成的,但仍然通过应用此模式隐藏和表单重置,但仍然在第二次输入时多次输入数据
$('#myModal').on('hidden.bs.modal', function () {
$(this).find('form').trigger('reset');
$('#myModal').data('modal', null);
$(this).removeData();
}
$('#submitDoc').click(function(){
$('.doc-form').on('submit', function(e){
var self = this;
e.preventDefault();
e.stopPropagation();
var no= {{ $no }};
token =$('input[name=_token]').val();
name = $('input[name=name]').val();
start_date = $('input[name=start_date]').val();
end_date = $('input[name=end_date]').val();
amount = $('input[name=amount]').val();
image =$('input[name=select_file]').val();
$.ajax({
type: 'POST',
url : '{{ URL("addDoc") }}',
contentType: false,
processData: false,
data: new FormData(this)
}).done(function(data){
$('.docTable').append(
"<tr>"+"<td class='text-center'>" + no++ + "</td>" +
"<td class='text-center'>" + data.id+ "</td>"+
"<td class='text-left'>" +data.name+ "</td>"+
"<td class='text-center'>" +start_date +
"</td>"+"<td class='text-center'>" +end_date+ "</td>"+
"<td class='text-right'>" +'$'+ data.amount +
"</td>"+"<td class='text-center'>" +
"<i class='fa fa-camera'></i> "+ "</td>"+"</tr>");
});
我想在表单提交的表格中附加数据而不完美刷新它,这意味着单个输入不会多次,而且当我在数据表中提交记录时,它会增加页面过滤器中的记录条目
解决方案
我已经解决了我的第一个问题,即当我在表中附加数据时,记录计数器不会增加。在表中添加行的正确方法是
t.row.add( [ count++ ,
id + ,
data.name,
start_date+ ,
end_date,
data.amount,
] ).draw( false );
并在数据表中添加 css 我们可以这样做:
var t = $(".docTable").DataTable({
'columnDefs': [
{
"targets": [0,1,3,4,6], // your case first column
"className": "text-center",
},
{
"targets": 2,
"className": "text-left",
},
{
"targets": 5,
"className": "text-right",
}
],
});
推荐阅读
- python - 是否可以从下到上而不是从上到下将小部件添加到 kivy 中的网格布局
- ruby-on-rails - 如何在 Rails 中使用一个提交按钮实现多表单
- javascript - 使用 vuejs 时 for 循环出现问题
- git - 我的 Google AppEngine 部署失败。我怎样才能恢复?
- bash - 为什么这个脚本可以在机器上运行一个而不是另一个?macOS 卡塔利娜
- android - 导航抽屉 - 为片段添加标签
- r - 从多元法线加速嵌套绘制,其中每个绘制在 r 中具有不同的平均向量
- java - 创建通知通道(React Native)
- c# - 如何在 EF Core 中以一对多关系重命名列?
- javascript - 将所有对象字段转换为布尔值