Document.getElementById (...) является нулевым в представлении Laravel - PullRequest
0 голосов
/ 01 декабря 2018

Сообщение в консоли

Ошибка типа: document.getElementById (...) имеет значение 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>

Мне нужно знать, что не так с этим кодом, который приводит к нулю.Спасибо.

1 Ответ

0 голосов
/ 01 декабря 2018

В вашем коде есть только один getElementById.

document.getElementById('delete-form-'+id)

Таким образом, это может быть переменная 'id', пустая или пустая, а извлекаемый элемент становится пустым.

Попробуйте отладку или console.log вашей переменной 'id' непосредственно перед кодом document.getElementById, чтобы увидеть, что происходит с вашей переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...