Laravel View 中的 Document.getElementById(...) 为 Null
2018-12-01
1978
控制台中的消息
TypeError: document.getElementById(...) is null.
Blade (包含要删除的按钮)
<td>
<a href="#" class="btn btn-primary btn-sm"><i class="fa fa-pencil"></i></a>
<button type="button" class="btn btn-danger btn-sm"
onclick="deleteSaleItem({{ $sale->id }})">
i class="fa fa-trash"></i>
</button>
<form id="delete-form-{{ $sale->id }}" action="{{ route('secretary.sales.destroy.item',$sale->id) }}" method="POST"
style="display:none;">
@csrf
@method('DELETE')
</form>
</td>
Javascript 实现
<script>
function deleteSaleItem(id){
const swalWithBootstrapButtons = swal.mixin({
confirmButtonClass: 'btn btn-success',
cancelButtonClass: 'btn btn-danger',
buttonsStyling: false,
})
swalWithBootstrapButtons({
title: 'Are you sure?',
text: "You won't be able to revert this!",
type: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, cancel!',
reverseButtons: true
}).then((result) => {
if (result.value) {
event.preventDefault();
document.getElementById('delete-form-'+id).submit();
} else if (
// Read more about handling dismissals
result.dismiss === swal.DismissReason.cancel
) {
swalWithBootstrapButtons(
'Cancelled',
'Your data is safe :)',
'error'
)
}
})
}
</script>
我需要知道此代码中存在什么问题,导致结果为 null。谢谢。
1个回答
您的代码中只有一个 getElementById。
document.getElementById('delete-form-'+id)
因此,可能是“id”变量为空或为 null,并且您检索的元素变为 null。
尝试在 document.getElementById 代码之前调试或 console.log 您的“id”变量,以查看变量发生了什么。
Mg Thar
2018-12-01