id
уникальны.Вы получите это неожиданное поведение, если будете использовать тот же id
в цикле.Либо используйте уникальные идентификаторы, либо поместите свои кнопки внутри form
(я предлагаю это).
<td>
<form class="delete-form" action="{{ route('provinces.destroy', $province->id) }}" method="POST">
<input type="hidden" name="_method" value="delete">
{{ csrf_field() }}
<a href="provinces/{{ $province->id }}/edit" class="btn btn-warning">Edit</a> |
<a class="btn btn-danger">Delete</a>
</form>
</td>
А затем используйте этот Javascript в отдельном файле для подтверждения:
(function(){
let forms = document.querySelectorAll('form.delete-form');
[].forEach.call(forms, function(form){
form.onsubmit = function(e) {
if ( ! confirm('Are you sure you wish to delete this province?'))
return e.preventDefault();
}
});
})();
Если вы все еще хотите использовать свой подход, добавьте идентификатор $province
в атрибут id
вашей формы.Это сделает вашу форму уникальной, поэтому вы получите к ней доступ с помощью id
.
<form id="delete-form-{{ $province->id }}" ...>
А затем ваш Javascript:
if( result ){
event.preventDefault();
document.getElementById('delete-form-{{ $province->id }}').submit();
}