Hai gaes, mumpung mood lagi bagus, saya mau berbagi lagi tentang salah satu pengalaman saya saat sedang mengembangakan situs ini.
Oke, jadi ceritanya begini, katakanlah saya punya 1 halaman admin yang isinya daftar artikel. Sebelumnya, saya tidak pernah tuh kasih alert konfirmasi segala saat menekan tombol delete. Nah, suatu saat timbulah masalah, yaitu gara-gara mouse yang error tiba-tiba artikel penting yang saya punya kehapus begitu saja. Dari situlah saya merasa galau dan menyesal, lantas energy positif dari penyesalan itu membuat saya berniat membuat alert delete confirm tersebut.
Dalam perjalanannya, tentu tidak semulus paha blackpink, yah maklum lika-liku newbietol dalam belajar sudah menjadi makanan sehari-hari.
Pseudocode berikut ini mungkin bisa memberikan sedikit gambaran tentang apa yang ingin saya capai dalam pengembangan situs ini ke versi berikutnya.
Javascript code.
function ConfirmDialog() {
var x=confirm("Are you sure to delete record?")
if (x) {
return true;
} else {
return false;
}
}
PHP of view.
<?php
echo anchor('user/deleteuser/'.$row->id, 'Delete', array('class'=>'delete', 'onclick'=>"return ConfirmDialog();"));
?>
Simulasi
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display a confirm box.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var txt;
var r = confirm("Press a button!");
if (r == true) {
txt = "You pressed OK!";
} else {
txt = "You pressed Cancel!";
}
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
Solusi
Hiperlink tombol delete.
<a href="javascript:void(0);" onclick="delete(<?php echo $row->id;?>);">Delete</a>
Setup fungsi delete() javascript menjadi sedemikian rupa.
<script type="text/javascript">
var url="<?php echo base_url();?>";
function delete(id){
var r=confirm("Do you want to delete this?")
if (r==true)
window.location = url+"user/deleteuser/"+id;
else
return false;
}
</script>
Jika Anda mengalami kesulitan saat mengcasting value id dari kode php ke dalam kode javascript, silakan tanyakan saja via kolom komentar.