Advertisement
fakhrulramadhan

ajax.js

Jul 25th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(document).ready(function(){
  2.   // Sembunyikan loading simpan, loading ubah, loading hapus, pesan error, pesan sukes, dan tombol reset
  3.   $("#loading-simpan, #loading-ubah, #loading-hapus, #pesan-error, #pesan-sukses, #btn-reset").hide();
  4.  
  5.   $("#btn-tambah").click(function(){ // Ketika tombol tambah diklik
  6.     $("#btn-ubah, #checkbox_foto").hide(); // Sembunyikan tombol ubah dan checkbox foto
  7.     $("#btn-simpan").show(); // Munculkan tombol simpan
  8.    
  9.     // Set judul modal dialog menjadi Form Simpan Data
  10.     $("#modal-title").html("Form Simpan data");
  11.   });
  12.  
  13.   $("#btn-simpan").click(function(){ // Ketika tombol simpan di klik
  14.     // Buat variabel data untuk menampung data hasil input dari form
  15.     var data = new FormData();
  16.    
  17.     data.append('nis', $("#nis").val()); // Ambil data nis
  18.     data.append('nama', $("#nama").val()); // Ambil data nama
  19.     data.append('jenis_kelamin', $("#jenis_kelamin").val()); // Ambil data jenis kelamin
  20.     data.append('telp', $("#telp").val()); // Ambil data telepon
  21.     data.append('alamat', $("#alamat").val()); // Ambil data alamat
  22.    
  23.     // Ambil data foto yang dipilih pada form, dan masukkan ke variabel data
  24.     data.append('foto', $("#foto")[0].files[0]);
  25.    
  26.     $("#loading-simpan").show(); // Munculkan loading simpan
  27.    
  28.     $.ajax({
  29.       url: 'proses_simpan.php', // File tujuan
  30.       type: 'POST', // Tentukan type nya POST atau GET
  31.       data: data, // Set data yang akan dikirim
  32.       processData: false,
  33.       contentType: false,
  34.       dataType: "json",
  35.       beforeSend: function(e) {
  36.         if(e && e.overrideMimeType) {
  37.           e.overrideMimeType("application/json;charset=UTF-8");
  38.         }
  39.       },
  40.       success: function(response){ // Ketika proses pengiriman berhasil
  41.         $("#loading-simpan").hide(); // Sembunyikan loading simpan
  42.        
  43.         if(response.status == "sukses"){ // Jika Statusnya = sukses
  44.           // Ganti isi dari div view dengan view yang diambil dari proses_simpan.php
  45.           $("#view").html(response.html);
  46.          
  47.           /*
  48.            * Ambil pesan suksesnya dan set ke div pesan-sukses
  49.            * Lalu munculkan div pesan-sukes nya
  50.            * Setelah 10 detik, sembunyikan kembali pesan suksesnya
  51.            */
  52.           $("#pesan-sukses").html(response.pesan).fadeIn().delay(10000).fadeOut();
  53.          
  54.           $("#form input, #form select").val(""); // Untuk meng-clear isian pada form
  55.           $("#form-modal").modal('hide'); // Close / Tutup Modal Dialog
  56.         }else{ // Jika statusnya = gagal
  57.           /*
  58.            * Ambil pesan errornya dan set ke div pesan-error
  59.            * Lalu munculkan div pesan-error nya
  60.            */
  61.           $("#pesan-error").html(response.pesan).show();
  62.         }
  63.       },
  64.       error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
  65.         alert(xhr.responseText); // munculkan alert
  66.       }
  67.     });
  68.   });
  69.  
  70.   $("#btn-ubah").click(function(){ // Ketika tombol ubah di klik
  71.     // Buat variabel data untuk menampung data hasil input dari form
  72.     var data = new FormData();
  73.    
  74.     data.append('nis', $("#nis").val()); // Ambil data nis
  75.     data.append('nama', $("#nama").val()); // Ambil data nama
  76.     data.append('jenis_kelamin', $("#jenis_kelamin").val()); // Ambil data jenis kelamin
  77.     data.append('telp', $("#telp").val()); // Ambil data telepon
  78.     data.append('alamat', $("#alamat").val()); // Ambil data alamat
  79.    
  80.     // Cek apakah checkbox ubah foto di ceklis
  81.     if($("#ubah_foto").is(":checked")) // Jika di ceklis
  82.       data.append('ubah_foto', $("#ubah_foto").val()); // Ambil data ubah foto (dari checkbox foto)
  83.    
  84.     // Ambil data foto yang dipilih pada form, dan masukkan ke variabel data
  85.     data.append('foto', $("#foto")[0].files[0]);
  86.    
  87.     $("#loading-ubah").show(); // Munculkan loading ubah
  88.    
  89.     $.ajax({
  90.       url: 'proses_ubah.php', // File tujuan
  91.       type: 'POST', // Tentukan type nya POST atau GET
  92.       data: data, // Set data yang akan dikirim
  93.       processData: false,
  94.       contentType: false,
  95.       dataType: "json",
  96.       beforeSend: function(e) {
  97.         if(e && e.overrideMimeType) {
  98.           e.overrideMimeType("application/json;charset=UTF-8");
  99.         }
  100.       },
  101.       success: function(response){ // Ketika proses pengiriman berhasil
  102.         $("#loading-ubah").hide(); // Sembunyikan loading ubah
  103.        
  104.         if(response.status == "sukses"){ // Jika Statusnya = sukses
  105.           // Ganti isi dari div view dengan view yang diambil dari proses_ubah.php
  106.           $("#view").html(response.html);
  107.          
  108.           /*
  109.            * Ambil pesan suksesnya dan set ke div pesan-sukses
  110.            * Lalu munculkan div pesan-sukes nya
  111.            * Setelah 10 detik, sembunyikan kembali pesan suksesnya
  112.            */
  113.           $("#pesan-sukses").html(response.pesan).fadeIn().delay(10000).fadeOut();
  114.          
  115.           $("#form input, #form select").val(""); // Untuk meng-clear isian pada form
  116.           $("#form-modal").modal('hide'); // Close / Tutup Modal Dialog
  117.         }else{ // Jika statusnya = gagal
  118.           /*
  119.            * Ambil pesan errornya dan set ke div pesan-error
  120.            * Lalu munculkan div pesan-error nya
  121.            */
  122.           $("#pesan-error").html(response.pesan).show();
  123.         }
  124.       },
  125.       error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
  126.         alert(xhr.responseText); // Munculkan alert
  127.       }
  128.     });
  129.   });
  130.  
  131.   $("#btn-hapus").click(function(){ // Ketika tombol hapus di klik
  132.     // Buat variabel data untuk menampung data hasil input dari form
  133.     var data = new FormData();
  134.     data.append('nis', $("#data-nis").val()); // Ambil data nis
  135.    
  136.     $("#loading-hapus").show(); // Munculkan loading hapus
  137.    
  138.     $.ajax({
  139.       url: 'proses_hapus.php', // File tujuan
  140.       type: 'POST', // Tentukan type nya POST atau GET
  141.       data: data, // Set data yang akan dikirim
  142.       processData: false,
  143.       contentType: false,
  144.       dataType: "json",
  145.       beforeSend: function(e) {
  146.         if(e && e.overrideMimeType) {
  147.           e.overrideMimeType("application/json;charset=UTF-8");
  148.         }
  149.       },
  150.       success: function(response){ // Ketika proses pengiriman berhasil
  151.         $("#loading-hapus").hide(); // Sembunyikan loading hapus
  152.        
  153.         // Ganti isi dari div view dengan view yang diambil dari proses_hapus.php
  154.         $("#view").html(response.html);
  155.        
  156.         /*
  157.          * Ambil pesan suksesnya dan set ke div pesan-sukses
  158.          * Lalu munculkan div pesan-sukes nya
  159.          * Setelah 10 detik, sembunyikan kembali pesan suksesnya
  160.          */
  161.         $("#pesan-sukses").html(response.pesan).fadeIn().delay(10000).fadeOut();
  162.        
  163.         $("#delete-modal").modal('hide'); // Close / Tutup Modal Dialog
  164.       },
  165.       error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
  166.         alert("ERROR : "+xhr.responseText); // Munculkan alert
  167.       }
  168.     });
  169.   });
  170.  
  171.   $('#form-modal').on('hidden.bs.modal', function (e){ // Ketika Modal Dialog di Close / tertutup
  172.     $("#btn-reset").click(); // Klik tombol reset agar form kembali bersih
  173.     $("#nis").removeAttr('readonly'); // Enable textbox nis
  174.   });
  175. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement