Hello Guys,
I am new to Ajax, have tried different tutorials. So far, I THINK I have a clean one to use, but not able to submit the form to my controller. Could you please help with this? Thank you very much! I am really struggling with this. If I can learn Ajax, I can use it for a lot of things. Amazing function.
View Page
@foreach($wait_customers as $wait_customer)
<tr>
<td style="vertical-align: middle">{{$wait_customer->name}}</td>
<td style="vertical-align: middle">{{$wait_customer->phone_number}}</td>
<td style="vertical-align: middle">{{$wait_customer->table_size}}</td>
<td style="vertical-align: middle">{{$wait_customer->started_at}}</td>
<td style="text-align: center;">
<button data-toggle="modal" data-target="#editModal" class="edit-modal btn btn-outline-primary" data-id="{{$wait_customer->id}}" data-phone_number="{{$wait_customer->phone_number}}" data-table_num="{{$wait_customer->table_num}}">
<i class="fa fa-paper-plane-o" aria-hidden="true"></i> Send Notification</button>
<a href="{{action('WaitingListController@cancel', $wait_customer)}}" class="btn btn-outline-warning"><i class="fa fa-ban" aria-hidden="true"></i> Cancel</a>
</td>
<div id="editModal" class="modal fade" role="dialog" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-md">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form class="form-horizontal" role="form">
@csrf
<div class="form-group row">
<label for="id_edit" class="col-md-4 col-form-label text-md-right">ID</label>
<div class="col-md-6">
<input id="id_edit" type="text" class="form-control" name="id_edit" disabled>
</div>
</div>
<div class="form-group row">
<label for="phone_number_edit" class="col-md-4 col-form-label text-md-right">Phone Number</label>
<div class="col-md-6">
<input id="phone_number_edit" type="text" class="form-control" name="phone_number_edit" disabled>
</div>
</div>
<div class="form-group row">
<label for="table_num" class="col-md-4 col-form-label text-md-right">Table Number</label>
<div class="col-md-6">
<input id="table_num_edit" type="text" class="form-control{{ $errors->has('table_num') ? ' is-invalid' : '' }}" name="table_num" value="{{ old('table_num') }}" required>
@if ($errors->has('table_num'))
<span class="invalid-feedback">
<strong>{{ $errors->first('table_num') }}</strong>
</span>
@endif
</div>
</div>
</form>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary edit" data-dismiss="modal">{{ __('Send') }}</button>
</div>
</div>
</div>
</div>
</div>
</tr>
@endforeach
JavaScript (In the View Page)
$(document).on('click', '.edit-modal', function() {
$('.modal-title').text('Send Notification');
$('#id_edit').val($(this).data('id'));
$('#phone_number_edit').val($(this).data('phone_number'));
$('#table_num_edit').val($(this).data('table_num'));
id = $('#id_edit').val();
$wait_customer = $('#id_edit').val();
$('#editModal').modal('show');
});
$('.modal-footer').on('click', '.edit', function() {
$.ajax({
type: 'PUT',
url: 'waitinglist/' + id + '/alert',
data: {
'_token': $('input[name=_token]').val(),
'id': $("#id_edit").val(),
'phone_number': $("#phone_number_edit").val(),
'table_num': $("#table_num_edit").val()
}
});
});
Web.php
Route::post('/waitinglist/{waitinglist}/alert', 'WaitingListController@alert')->name('waitinglist.alert');
Controller
public function alert(Request $request, Waitinglist $waitinglist)
{
dd($request);
dd($waitinglist);
}