kura2yamato

ajax upload

Feb 28th, 2026
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.80 KB | Source Code | 0 0
  1. <?php
  2. include "configs/base.php";
  3. include_once "functions/_main.php";
  4. $tokenUpload = "CellIndonesia";
  5. $arData=[
  6.     'date'=>date("Y-m-d H:i:s"),
  7.     'target'=>'_uploads',
  8.     'tipe'=>['jpg','pdf']
  9. ];
  10. ?><!DOCTYPE html>
  11. <html>
  12. <head>
  13. <script src="assets/jquery-3.7.1.js"></script>
  14. <script src="assets/jquery-1.12.4.min.js"></script>
  15. <script>
  16.   var jq112 = $.noConflict();
  17. </script>
  18. <style>
  19. div{padding:10px}
  20. </style>
  21. </head>
  22. <body>
  23. <div id='modalEdit'></div>
  24. <div id='container'>form here</div>
  25. <button id='addUpload' type="button" >Form Upload</button>
  26. <!--button id='addDiv' type="button" >tambah div dengan jquery</button-->
  27. <button data-type="personal_other" data-modal="modalEdit" data-id=0 type="button" class="btn btn-default btn-sm show_edit" title="New">Baru</button>
  28. <button data-type="personal_other" data-modal="modalEdit" data-id=10 type="button" class="btn btn-default btn-sm show_edit" title="Edit">Edit</button>
  29. <script>
  30. var iBtn=1;
  31. var iUpload=1;
  32. var urlUpload="ajax/upload-1.php";
  33. $(document).ready(function() {
  34.    
  35.     //$(".show_edit").on("click", function() {
  36.     jq112(document).on("click", ".show_edit", function() {
  37.         // Ambil nilai atribut dari tombol
  38.         var modalTarget = jq112(this).data("modal");   // contoh: "modalEdit"
  39.         var type = jq112(this).data("type");           // contoh: "personal_other"
  40.         var id = jq112(this).data("id");               // contoh: 0 atau 1
  41.  
  42.         // Buat konten dinamis sesuai kebutuhan
  43.         var content = "<p>Anda mengedit data dengan type: <b>" + type + "</b> dan id: <b>" + id + "</b></p>";
  44.  
  45.         // Masukkan konten ke dalam div tujuan
  46.         $("#" + modalTarget).html(content);
  47.     });
  48.    
  49.     $(document).on("click", ".btn-upload", function() {
  50.         iPos = $(this).data("upload")-1;
  51.         let objAjax = document.getElementsByClassName("inpFile");
  52.         let params = $(this).data("upload");
  53.         fileUp = objAjax[iPos].value||false;
  54.         if(!fileUp){
  55.             alert("masukkan file yang akan dikirim");
  56.         }else{
  57.             uploadFile( objAjax[iPos], params );
  58.  
  59.            
  60.         }
  61.         //alert( "upload:"+iPos);
  62.     });
  63.     //tambah konten
  64.     $("#addUpload").on('click', function(){
  65.         let newDiv = document.createElement("div");
  66.         let newForm = document.createElement("form");
  67.         let newInput= document.createElement("input");
  68.         newInput.type = "file";                // type="file"
  69.         newInput.name = "fileUpload";                // type="file"
  70.         newInput.className = "inpFile";          // name="fileUpload"
  71.         newInput.setAttribute("data-upload", "blabla"); // data-upload="blabla"
  72.         newButton = document.createElement("button");
  73.         newButton.textContent = "upload"; // Tambahkan class
  74.         newButton.className = "btn btn-upload";
  75.         newButton.setAttribute("data-upload", iUpload);
  76.         newButton.setAttribute("data-url", urlUpload);
  77.         newButton.type="button";
  78.        
  79.         newButton.addEventListener("click", function() {
  80.             //alert("Tombol upload=" + this.getAttribute("data-upload") + " diklik!");
  81.             console.log("upload", this.getAttribute("data-upload"));
  82.         });
  83.         newForm.appendChild(newInput);
  84.         newForm.appendChild(newButton);
  85.         newDiv.appendChild(newForm);
  86.         document.getElementById("container").appendChild(newDiv);
  87.         iUpload++;
  88.     });
  89.     $("#addDiv").on("click", function() {
  90.         // Buat elemen div baru
  91.         var newDiv = $("<div></div>");
  92.  
  93.         // Buat button di dalam div
  94.         var newButton = $("<button></button>")
  95.             .text("hello")
  96.             .prop('id','btnHello'+iBtn);
  97.         newButton.addClass("hello");
  98.         arAttr ={
  99.             id:"btnHello",
  100.             type:"button",
  101.             "data-param":"<?=encryptData(json_encode($arData));?>"
  102.             };
  103.         newButton.attr(arAttr);
  104.         iBtn++;
  105.  
  106.         // Masukkan button ke dalam div
  107.         newDiv.append(newButton);
  108.  
  109.         // Tambahkan div ke dalam container
  110.         $("#container").empty().append(newDiv);
  111.     });
  112.    
  113.     $(document).on("click", ".hello", function() {
  114.         alert("hello world");
  115.     });
  116.  
  117. });
  118.  
  119. async function uploadFile(objFile, params)  
  120. {
  121.     let formData = new FormData();
  122.     let uploadSuccess=0;
  123.     try {
  124.            formData.append("file", objFile );
  125.            formData.append("params", params);
  126.            resp = await fetch('/023_upload.php', {method: "POST", body: formData});
  127.            try {
  128.                 console.log(resp);
  129.                 var jobj = await resp.json();
  130.            }catch(e){
  131.                 jobj = {};
  132.            }
  133.            
  134.             if(typeof jobj.error == 'undefined'){
  135.                 alert("coba upload kembali");
  136.             }
  137.             else if(typeof jobj.message == 'undefined'){
  138.                 alert("pesan tidak diketahui");
  139.             }
  140.             else{
  141.                 setTimeout(function() {
  142.                     alert(jobj.message);
  143.                 }, 1500); // 1000 ms = 1 detik
  144.                
  145.                 uploadSuccess=1;
  146.             }
  147.     }
  148.     catch(err) {
  149.       alert("terjadi error saat upload");
  150.       infoUpload=3;
  151.       console.log(err);
  152.     }
  153.     finally{
  154.         if(uploadSuccess==1)
  155.             console.log("upload success");
  156.  
  157.     }
  158. }
  159. </script>
  160. </body>
  161. </html>
Advertisement
Add Comment
Please, Sign In to add comment