Postingan lainnya
Cara select date range dengan modal lalu muncul ke table
saya sedang membuat select date range dengan modal tetapi ketika klik save data nya tidak ter save kira-kira kenapa ya ?
image.png
image.png
seharusnya data masuk ke table tersebut
web.php
//Route Report Data Karyawan
Route::get('/reportDataKaryawan', 'reportDataKaryawanController@previewForm')->name('reportDataKaryawan');
Route::get('/previewpertanggal/{tglawal}/{tglakhir}', 'reportDataKaryawanController@previewPertanggal')->name('reportDataKaryawan');
controller
public function previewForm()
{
return view('halaman.reportDataKaryawan');
}
public function previewPertanggal(Request $request, $tglawal, $tglakhir)
{
$data = dataKaryawan::whereBetween('created_at', [ $tglawal, $tglakhir])->get();
return response()->json($data);
blade
<section class="section">
<div class="card">
<div class="card-header">
<div class="col py-6">
<h5 class="m-0 font-weight-bold text-primary">Report Data Karyawan</h5>
</div>
<button type="button" style="float: right; " data-toggle="modal" data-target="#quoteForm" class="btn btn-primary">
<i class="fa fa-print"></i>
Cetak PDF
</button>
<button type="button" style="float: right; margin-right:10px; " data-toggle="modal" data-target="#quoteFormPreview" class="btn btn-secondary">
<i class="fa fa-file-archive-o"></i>
Preview
</button>
<div class="card-body">
<div class="dataTable-wrapper dataTable-loading no-footer sortable searchable fixed-columns">
<div class="dataTable-container">
<table class="table table-striped dataTable-table table-hover" id="table1">
<thead>
<tr>
<th>No</th>
<th>Nama Karyawan</th>
<th>NIK</th>
<th>Nama Jabatan</th>
<th>Status</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<!--GET a QUOTE MODAL Preview-->
<div class="modal fade" id="quoteFormPreview" tabindex="-1" role="dialog" aria-labelledby="dateRangeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="dateRangeModalLabel">Select Date Range</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="dateRangeForm">
<div class="form-group">
<label for="startDate">Start Date</label>
<input type="date" class="form-control" id="tglawal" name="tglawal">
</div>
<div class="form-group">
<label for="endDate">End Date</label>
<input type="date" class="form-control" id="tglakir" name="tglakir">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="preview">Preview</button>
</div>
</div>
</div>
</div>
</section>
@include('sweetalert::alert')
@endsection
@push('script')
<script>
$(document).ready(function() {
// Attach an event listener to the search button
$('#preview').click(function() {
// Retrieve the selected start and end dates from the form input fields
var tglawal = $('#tglawal').val();
var tglakhir = $('#tglakir').val();
});
});
</script>
@endpush
2 Jawaban:
Jawaban Terpilih
<div>Terdapat beberapa kesalahan pada kode yang diberikan. Beberapa perbaikan yang perlu dilakukan antara lain:<br><br></div><ol><li>Pada form modal, pada input untuk tanggal akhir, terdapat kesalahan penulisan id. Seharusnya diganti dari <strong>tglakhir</strong> menjadi <strong>tglakir</strong>.</li><li>Pada fungsi ajax untuk melakukan request ke server, sebaiknya menggunakan method <strong>GET</strong> karena pada route tertulis menggunakan method <strong>GET</strong>.</li><li>Pada fungsi ajax, terdapat penggunaan <strong>dataType: 'html'</strong> yang menyebabkan hasil respons dari server akan diproses sebagai <strong>HTML</strong>. Padahal, pada controller, respons yang diberikan adalah <strong>JSON</strong>. Sebaiknya, penggunaan <strong>dataType</strong> dihilangkan agar jQuery dapat memproses respons dari server dengan benar.</li><li>Pada controller, pada bagian <strong>$tglawal = $request->input('tglawal')</strong> dan <strong>$tglakhir = $request->input('tglakhir')</strong>, sebaiknya dihapus karena nilai <strong>$tglawal</strong> dan <strong>$tglakhir</strong> sudah diperoleh dari parameter route.</li></ol><div><br>Berikut adalah perbaikan kode pada beberapa file:<br><br>web.php<br><br></div><pre>Route::get('/reportDataKaryawan', 'reportDataKaryawanController@previewForm')->name('reportDataKaryawan'); Route::get('/previewpertanggal/{tglawal}/{tglakhir}', 'reportDataKaryawanController@previewPertanggal')->name('previewPertanggal');</pre><div><br>Controller<br><br></div><pre>public function previewPertanggal($tglawal, $tglakhir) { $data = dataKaryawan::whereBetween('created_at', [$tglawal, $tglakhir])->get(); return response()->json($data); }<br></pre><div><br>Blade<br><br></div><pre><div class="modal fade" id="quoteFormPreview" tabindex="-1" role="dialog" aria-labelledby="dateRangeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="dateRangeModalLabel">Select Date Range</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> <form id="dateRangeForm"> <div class="form-group"> <label for="startDate">Start Date</label> <input type="date" class="form-control" id="tglawal" name="tglawal"> </div> <div class="form-group"> <label for="endDate">End Date</label> <input type="date" class="form-control" id="tglakir" name="tglakir"> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary" id="preview">Preview</button> </div> </div> </div> </div>
</section>
@include('sweetalert::alert')
@endsection
@push('script') <script> $(document).ready(function() { // Attach an event listener to the search button $('#preview').click(function() { // Retrieve the selected start and end dates from the form input fields var tglaw <br></pre>
Tanggapan
tapi tetap ketika sudah di ubah ketika di preview tidak ada action dan stuck di modal
<div>Apakah url berubah setelah klik preview? Kalau belum maka jsnya mesti dirubah agar merubah url eksisting.</div>