alexa-tracking
Kategori
Kategori
Home / FORUM / All / Tech / ... / Programmer Forum /
Masalah Leading Zero hilang menggunakan ajax
1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/5c5aa5fbfacb95631440bc5e/masalah-leading-zero-hilang-menggunakan-ajax

Masalah Leading Zero hilang menggunakan ajax

Gan, mau tanya nih , di mysql database katakanlah gw ad tabel pegawai yg kira2 gini struktur simpelnya :

Nip       : 0378192919 --> Varchar, Key 
Nama : Kaskuser

Di daftar nip tersebut ada sebagian data yang diawali dengan 0 ( Leading Zero ), krn gw butuh nip pegawai kalau mau melakukan hapus data dari aplikasi, gw pake metode ajax sperti ini  : 

Code:

function delEmploy(id = null) {

   if(id) {
     
     alert(id);
     $("#deleteBtn").unbind('click').bind('click',function(){
        $.ajax({
           url: 'pegawai/delpeg.php',
           type:'post',
           data: {nip : id },
           datatype: 'json',
           success:function(response) {
               if(response.success == true) {


Masalah Leading Zero hilang menggunakan ajax

Ketika gw cek nip nya dengan alert, yg keluar 378192919. Nol di depan hilang. Padahal kalo data di tampilin pake looping yang keluar utuh 0378192919 sesuai apa yang tersimpan di tabelnya

Masalah Leading Zero hilang menggunakan ajax  

untuk di button eventnya gw pake onclick untuk ngebawa id hasil loopingnya,seperti ini :

Code:
 
<a type="button" data-toggle="modal" data-target="#delEmployModal">
   <span class="glyphicon glyphicon-trash"></span> Delete</a>


Gimana caranya ya gan, supaya id yg gw dapet gak ilang leading zeronya ?
Beri apresiasi terhadap thread ini Gan!

- Potongan skrip saat ente manggil function delEmploy nya gimana gan? id nya diambil dr mana?
Untuk id nya diambil dari hasil looping daftar pegawai gan, karena nip kan unik jadi ane jadiin id, trus ane sisipin di syntax html hyperlink pake event Onclick

Code:
onclick="delEmploy('.$row['nip'].')"


Masalah Leading Zero hilang menggunakan ajax

ketika button linknya di click function delEmploynya akan jalankan ajaxnya , kek gini gan :

Masalah Leading Zero hilang menggunakan ajax

Code:
function delEmploy(id = null) {

if(id) {

alert(id);

$("#deleteBtn").unbind('click').bind('click',function(){
$.ajax({
url: 'pegawai/delpeg.php',
type:'post',
data: {nip :'+ id +'},
datatype: 'json',
success:function(response) {
if(response.success == true) {

$(".delMessage").html('<div class="alert alert-success alert-dismissible" role="alert">'+
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
'<strong> <span class="glyphicon glyphicon-ok-sign"></span> </strong>'+response.messages+'</div>');

// reload the datatables
manageEmployTable.ajax.reload(null, false);

// hide modal
$("#delEmployModal").modal('hide');

}else {
$(".delMessage").html('<div class="alert alert-warning alert-dismissible" role="alert">'+
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
'<strong> <span class="glyphicon glyphicon-exclamation-sign"></span> </strong>'+response.messages+'</div>');
} // /else

}

});

});

} else {

alert('Error : Refresh the page again');

}

}


nah untuk ngetes nilai yg keluar sesuai apa enggak itu ane coba keluarin id lewat alert, ternyata hasilnya 0 di depannya ilang ( seharusnya kan 0378192919 tapi yg keluar 378192919 ), krn di ajax ini ane manggil file php lainnya gan yg isinya sql buat delete datanya, tapi karena hasil idnya beda , data yg kurang 0 nya itu dianggap gak ada di db , jadi ya gak bisa keapus.

Code:
alert(id);
ini gan ane debug dulu pake alert di js nya , untuk liat nilai yg dibalikin ke browser , hasilnya raib 0 di depannya,

Masalah Leading Zero hilang menggunakan ajax
Coba inspect element di bagian button
Code:

<a type="button" data-toggle="modal" data-target="#delEmployModal">


Cek bagian onclick, apakah id yang disisipin disitu punya trailing zero atau nggak

Ini gan , padahal kalo di Inspect keliatan hasil keluarannya lengkap dengan 0 di depanya , tapi kenapa pas di lempar ke jquery nya raib ya 0 nya

Masalah Leading Zero hilang menggunakan ajax
mungkin efek datatables krn isi kolom Nip numeric,
coba secara eksplisit ditetapkan opsi type-nya string.
Padahal di Mysql nya tipe datanya Varchar, kan itu ngambil array dari loopingan database...
Sepertinya kurang tanda qoute (') pada saat mengenerated action-nya.

delEmploy('0378192919'); // id: 0378192919
delEmploy(0378192919); // id: 378192919

Spoiler for JavaScript:
Quote:


Nah bener nih kata abang ini


Code:


onclick="delEmploy(\' '. $row['nip'] .'\')"

Diubah oleh aquatrium
iyq gan ane juga sebelomnya udah feeling masalah quotes, tapi error terus waktu ane ngetrik buat nambahin quote , ini ane coba saran abang aquarium ,masih tetep sama gagal ngeload waktu di browser

Masalah Leading Zero hilang menggunakan ajax

white blank page :
Masalah Leading Zero hilang menggunakan ajax
Quote:


\' ==> \\"
Diubah oleh .citrus.
Quote:

keknya kurang tepat penulisan codenya
PHP Code:
onclick="delEmploy('"$row['nip'] ."')" 

udah ane cobain semua gan ngebongkar pasang quote nya , masih error di datatables nya kadang white blank aja..

Masalah Leading Zero hilang menggunakan ajax
bisa ditampilkan full codenya?

ini gan, view pegawai untuk isi datatables nya, dari sini ketika button delete di click fungsi event Onclick delEmploy akan nangkep id yg ane sisipin.--> $row['nip']

Masalah Leading Zero hilang menggunakan ajax

ini js fucntion delEmploynya ..

Masalah Leading Zero hilang menggunakan ajax
penulisan code udah benarMasalah Leading Zero hilang menggunakan ajax

code javascript/jquery ada yg harus diluruskan
PHP Code:
$.ajax({
    
url'pegawai/delpeg.php',
    
type'post',
    
data: {nip id}, // buang tanda petik dan +
    
dataType'json'// bukan datatype 
Quote:


Kalo misalnya saran yang lain belum ngebenerin errornya, boleh coba co-paste kesini response payload saat ngebuka url AJAX?

Spoiler for kode:
Diubah oleh 762786153
problem solved gan , emang bener masalahnya the quotes, udah beres masalahnya disini :

Code:
$id = $row['nip'];

Code:
onclick="editEmploy(\\''.$id.'\\')">


sebelumnya ane dah coba pake backslash diantara $row['nip']; saran abang aquatrium gak berhasil,iseng ane masukin ke variabel eh jalan.., trus di ajaxnya variabel nip nya harus pake quotes juga :

Code:
$("#deleteBtn").unbind('click').bind('click',function(){
$.ajax({
url: 'pegawai/delpeg.php',
type:'post',
data: {'nip': id},
dataType:'json',


Makasih banyak ya temen2 atas waktu buat ngasi saran pikirannya buat masalah sepele ini ..emoticon-Cendol Gan


GDP Network
© 2019 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di