fix input dropdown kecamatan, add address input, add start and fresh camera button
This commit is contained in:
parent
8ffde277fa
commit
b9c9252728
@ -26,6 +26,10 @@ input[type="text"] {
|
|||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
video {
|
||||||
|
background: primary;
|
||||||
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -357,22 +361,23 @@ form p {
|
|||||||
|
|
||||||
@media (max-width: 1100px) {
|
@media (max-width: 1100px) {
|
||||||
.container {
|
.container {
|
||||||
min-height: 800px;
|
min-height: 1000px;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container.sign-up-mode .right-panel {
|
form.sign-in-form {
|
||||||
padding-top: 0;
|
justify-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
padding: 0px;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header ul li div {
|
.header ul li div {
|
||||||
padding: 0 1.2rem;
|
padding: 0 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.signin-signup {
|
.signin-signup {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
top: 95%;
|
top: 95%;
|
||||||
@ -393,8 +398,6 @@ form p {
|
|||||||
.panel {
|
.panel {
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
align-items: center;
|
|
||||||
padding: 2.5rem 8%;
|
|
||||||
grid-column: 1 / 2;
|
grid-column: 1 / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -446,7 +449,7 @@ form p {
|
|||||||
|
|
||||||
.container.sign-up-mode:before {
|
.container.sign-up-mode:before {
|
||||||
transform: translate(-50%, 100%);
|
transform: translate(-50%, 100%);
|
||||||
bottom: 32%;
|
bottom: 26%;
|
||||||
right: initial;
|
right: initial;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -471,9 +474,13 @@ form p {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 700px) {
|
@media (max-width: 740px) {
|
||||||
form {
|
.form_4 div {
|
||||||
padding: 0 1.5rem;
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns_wrap .common_btns.form_4_btns {
|
||||||
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image {
|
.image {
|
||||||
@ -509,7 +516,6 @@ form p {
|
|||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 1rem 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header ul {
|
.header ul {
|
||||||
@ -925,10 +931,8 @@ form p {
|
|||||||
background-color: #900c3e;
|
background-color: #900c3e;
|
||||||
}
|
}
|
||||||
|
|
||||||
#webcamKtp {
|
|
||||||
height: 30vh;
|
#webcamKtp,
|
||||||
border-radius: 1rem;
|
|
||||||
}
|
|
||||||
#webcamEkyc {
|
#webcamEkyc {
|
||||||
height: 30vh;
|
height: 30vh;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
|
@ -139,69 +139,163 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
const videoElementKtp = document.getElementById("webcamKtp");
|
const videoElementKtp = document.getElementById("webcamKtp");
|
||||||
const captureButtonKtp = document.getElementById("captureButtonKtp");
|
const captureButtonKtp = document.getElementById("captureButtonKtp");
|
||||||
const fotoInputKtp = document.getElementById("fotoKtp");
|
const fotoInputKtp = document.getElementById("fotoKtp");
|
||||||
|
const startButtonKtp = document.getElementById("startButtonKtp");
|
||||||
|
const refreshButtonKtp = document.getElementById("refreshButtonKtp");
|
||||||
|
|
||||||
const videoElementEkyc = document.getElementById("webcamEkyc");
|
const videoElementEkyc = document.getElementById("webcamEkyc");
|
||||||
const captureButtonEkyc = document.getElementById("captureButtonEkyc");
|
const captureButtonEkyc = document.getElementById("captureButtonEkyc");
|
||||||
const fotoInputEkyc = document.getElementById("fotoEkyc");
|
const fotoInputEkyc = document.getElementById("fotoEkyc");
|
||||||
|
const startButtonEkyc = document.getElementById("startButtonEkyc");
|
||||||
|
const refreshButtonEkyc = document.getElementById("refreshButtonEkyc");
|
||||||
|
|
||||||
navigator.mediaDevices
|
let ktpStream = null;
|
||||||
.getUserMedia({
|
let ekycStream = null;
|
||||||
video: true
|
|
||||||
})
|
|
||||||
.then(function (stream) {
|
|
||||||
videoElementKtp.srcObject = stream;
|
|
||||||
})
|
|
||||||
.catch(function (error) {
|
|
||||||
console.error("Gagal mengakses kamera: ", error);
|
|
||||||
});
|
|
||||||
|
|
||||||
captureButtonKtp.addEventListener("click", function () {
|
// Fungsi untuk menyalakan kamera
|
||||||
const canvas = document.createElement("canvas");
|
function turnOnCamera(stream, videoElement, startButton) {
|
||||||
const context = canvas.getContext("2d");
|
videoElement.srcObject = stream;
|
||||||
canvas.width = videoElementKtp.videoWidth;
|
startButton.textContent = "Matikan Kamera";
|
||||||
canvas.height = videoElementKtp.videoHeight;
|
videoElement.style.display = "block"; // Tampilkan video
|
||||||
context.drawImage(videoElementKtp, 0, 0, canvas.width, canvas.height);
|
}
|
||||||
const fotoDataUrl = canvas.toDataURL("image/jpeg");
|
|
||||||
|
|
||||||
// Set nilai foto input hidden dengan data URL
|
// Fungsi untuk mematikan kamera
|
||||||
fotoInputKtp.value = fotoDataUrl;
|
function turnOffCamera(stream, videoElement, startButton) {
|
||||||
|
if (stream) {
|
||||||
|
stream.getTracks().forEach((track) => track.stop());
|
||||||
|
videoElement.srcObject = null;
|
||||||
|
}
|
||||||
|
startButton.textContent = "Nyalakan Kamera";
|
||||||
|
videoElement.style.display = "none"; // Sembunyikan video
|
||||||
|
}
|
||||||
|
|
||||||
// Tampilkan preview foto
|
// Fungsi untuk menghapus hasil foto
|
||||||
const fotoPreview = document.getElementById("foto-preview");
|
function clearPhoto(fotoInput, fotoPreview) {
|
||||||
fotoPreview.innerHTML = '<img src="' + fotoDataUrl + '" alt="Foto">';
|
fotoInput.value = "";
|
||||||
|
fotoPreview.innerHTML = "";
|
||||||
|
}
|
||||||
|
|
||||||
// // Hentikan akses kamera setelah mengambil foto
|
startButtonKtp.addEventListener("click", function () {
|
||||||
// stream.getTracks().forEach((track) => track.stop());
|
if (ktpStream) {
|
||||||
|
// Matikan kamera jika sudah aktif
|
||||||
|
turnOffCamera(ktpStream, videoElementKtp, startButtonKtp);
|
||||||
|
// Hapus hasil foto
|
||||||
|
clearPhoto(fotoInputKtp, document.getElementById("foto-preview-ktp"));
|
||||||
|
ktpStream = null;
|
||||||
|
} else {
|
||||||
|
// Aktifkan kamera jika belum aktif
|
||||||
|
navigator.mediaDevices
|
||||||
|
.getUserMedia({ video: true })
|
||||||
|
.then(function (stream) {
|
||||||
|
ktpStream = stream;
|
||||||
|
turnOnCamera(ktpStream, videoElementKtp, startButtonKtp);
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.error("Gagal mengakses kamera: ", error);
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
navigator.mediaDevices
|
startButtonEkyc.addEventListener("click", function () {
|
||||||
.getUserMedia({
|
if (ekycStream) {
|
||||||
video: true
|
// Matikan kamera jika sudah aktif
|
||||||
})
|
turnOffCamera(ekycStream, videoElementEkyc, startButtonEkyc);
|
||||||
.then(function (stream) {
|
// Hapus hasil foto
|
||||||
videoElementEkyc.srcObject = stream;
|
clearPhoto(fotoInputEkyc, document.getElementById("foto-preview-ekyc"));
|
||||||
})
|
ekycStream = null;
|
||||||
.catch(function (error) {
|
} else {
|
||||||
console.error("Gagal mengakses kamera: ", error);
|
// Aktifkan kamera jika belum aktif
|
||||||
});
|
navigator.mediaDevices
|
||||||
|
.getUserMedia({ video: true })
|
||||||
|
.then(function (stream) {
|
||||||
|
ekycStream = stream;
|
||||||
|
turnOnCamera(ekycStream, videoElementEkyc, startButtonEkyc);
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.error("Gagal mengakses kamera: ", error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
refreshButtonKtp.addEventListener("click", function () {
|
||||||
|
// Hapus hasil foto jika tombol "Ulang Foto" ditekan
|
||||||
|
clearPhoto(fotoInputKtp, document.getElementById("foto-preview-ktp"));
|
||||||
|
|
||||||
|
if (ktpStream) {
|
||||||
|
// Matikan kamera jika sedang aktif
|
||||||
|
turnOffCamera(ktpStream, videoElementKtp, startButtonKtp);
|
||||||
|
ktpStream = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Menyalakan kembali kamera
|
||||||
|
navigator.mediaDevices
|
||||||
|
.getUserMedia({ video: true })
|
||||||
|
.then(function (stream) {
|
||||||
|
ktpStream = stream;
|
||||||
|
turnOnCamera(ktpStream, videoElementKtp, startButtonKtp);
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.error("Gagal mengakses kamera: ", error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
refreshButtonEkyc.addEventListener("click", function () {
|
||||||
|
// Hapus hasil foto jika tombol "Ulang Foto" ditekan
|
||||||
|
clearPhoto(fotoInputEkyc, document.getElementById("foto-preview-ekyc"));
|
||||||
|
|
||||||
|
if (ekycStream) {
|
||||||
|
// Matikan kamera jika sedang aktif
|
||||||
|
turnOffCamera(ekycStream, videoElementEkyc, startButtonEkyc);
|
||||||
|
ekycStream = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Menyalakan kembali kamera
|
||||||
|
navigator.mediaDevices
|
||||||
|
.getUserMedia({ video: true })
|
||||||
|
.then(function (stream) {
|
||||||
|
ekycStream = stream;
|
||||||
|
turnOnCamera(ekycStream, videoElementEkyc, startButtonEkyc);
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.error("Gagal mengakses kamera: ", error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
captureButtonKtp.addEventListener("click", function () {
|
||||||
|
if (ktpStream) {
|
||||||
|
const canvas = document.createElement("canvas");
|
||||||
|
const context = canvas.getContext("2d");
|
||||||
|
canvas.width = videoElementKtp.videoWidth;
|
||||||
|
canvas.height = videoElementKtp.videoHeight;
|
||||||
|
context.drawImage(videoElementKtp, 0, 0, canvas.width, canvas.height);
|
||||||
|
const fotoDataUrl = canvas.toDataURL("image/jpeg");
|
||||||
|
|
||||||
|
fotoInputKtp.value = fotoDataUrl;
|
||||||
|
|
||||||
|
const fotoPreview = document.getElementById("foto-preview-ktp");
|
||||||
|
fotoPreview.innerHTML = '<img src="' + fotoDataUrl + '" alt="Foto">';
|
||||||
|
|
||||||
|
// Matikan kamera setelah mengambil foto
|
||||||
|
turnOffCamera(ktpStream, videoElementKtp, startButtonKtp);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
captureButtonEkyc.addEventListener("click", function () {
|
captureButtonEkyc.addEventListener("click", function () {
|
||||||
const canvas = document.createElement("canvas");
|
if (ekycStream) {
|
||||||
const context = canvas.getContext("2d");
|
const canvas = document.createElement("canvas");
|
||||||
canvas.width = videoElementEkyc.videoWidth;
|
const context = canvas.getContext("2d");
|
||||||
canvas.height = videoElementEkyc.videoHeight;
|
canvas.width = videoElementEkyc.videoWidth;
|
||||||
context.drawImage(videoElementEkyc, 0, 0, canvas.width, canvas.height);
|
canvas.height = videoElementEkyc.videoHeight;
|
||||||
const fotoDataUrl = canvas.toDataURL("image/jpeg");
|
context.drawImage(videoElementEkyc, 0, 0, canvas.width, canvas.height);
|
||||||
|
const fotoDataUrl = canvas.toDataURL("image/jpeg");
|
||||||
|
|
||||||
// Set nilai foto input hidden dengan data URL
|
fotoInputEkyc.value = fotoDataUrl;
|
||||||
fotoInputEkyc.value = fotoDataUrl;
|
|
||||||
|
|
||||||
// Tampilkan preview foto
|
const fotoPreview = document.getElementById("foto-preview-ekyc");
|
||||||
const fotoPreview = document.getElementById("foto-preview");
|
fotoPreview.innerHTML = '<img src="' + fotoDataUrl + '" alt="Foto">';
|
||||||
fotoPreview.innerHTML = '<img src="' + fotoDataUrl + '" alt="Foto">';
|
|
||||||
|
|
||||||
// // Hentikan akses kamera setelah mengambil foto
|
// Matikan kamera setelah mengambil foto
|
||||||
// stream.getTracks().forEach((track) => track.stop());
|
turnOffCamera(ekycStream, videoElementEkyc, startButtonEkyc);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
/******************************************
|
/******************************************
|
||||||
@ -267,14 +361,12 @@ $(document).ready(function () {
|
|||||||
* AJAX DROPDOWN SELECT PROVINSI, KABUPATEN & KECAMATAN
|
* AJAX DROPDOWN SELECT PROVINSI, KABUPATEN & KECAMATAN
|
||||||
******************************************/
|
******************************************/
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
// Inisialisasi select2 untuk selectProv
|
||||||
$("#selectProv").select2({
|
$("#selectProv").select2({
|
||||||
placeholder: 'Pilih Provinsi',
|
placeholder: 'Pilih Provinsi',
|
||||||
ajax: {
|
ajax: {
|
||||||
url: $("#selectProv").data("url"),
|
url: $("#selectProv").data("url"),
|
||||||
processResults: function ({
|
processResults: function ({ data }) {
|
||||||
data
|
|
||||||
}) {
|
|
||||||
return {
|
return {
|
||||||
results: $.map(data, function (item) {
|
results: $.map(data, function (item) {
|
||||||
return {
|
return {
|
||||||
@ -282,21 +374,63 @@ $(document).ready(function () {
|
|||||||
text: item.name
|
text: item.name
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Inisialisasi select2 untuk selectRegenc
|
||||||
|
$("#selectRegenc").select2({
|
||||||
|
placeholder: 'Pilih Kabupaten/Kota',
|
||||||
|
ajax: {
|
||||||
|
url: "", // Isi dengan URL yang sesuai
|
||||||
|
processResults: function ({ data }) {
|
||||||
|
return {
|
||||||
|
results: $.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
text: item.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Inisialisasi select2 untuk selectDistric
|
||||||
|
$("#selectDistric").select2({
|
||||||
|
placeholder: 'Pilih Kecamatan',
|
||||||
|
ajax: {
|
||||||
|
url: "", // Isi dengan URL yang sesuai
|
||||||
|
processResults: function ({ data }) {
|
||||||
|
return {
|
||||||
|
results: $.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
text: item.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Event listener untuk perubahan pada selectProv
|
||||||
$("#selectProv").change(function () {
|
$("#selectProv").change(function () {
|
||||||
let id = $('#selectProv').val();
|
let id = $('#selectProv').val();
|
||||||
|
|
||||||
|
// Mengosongkan pilihan di selectRegenc dan selectDistric
|
||||||
|
$("#selectRegenc, #selectDistric").empty();
|
||||||
|
|
||||||
|
// Menghapus properti 'disabled' pada selectRegenc dan selectDistric
|
||||||
|
$("#selectRegenc, #selectDistric").prop("disabled", false);
|
||||||
|
|
||||||
|
// Memuat ulang data berdasarkan provinsi yang baru dipilih di selectRegenc
|
||||||
$("#selectRegenc").select2({
|
$("#selectRegenc").select2({
|
||||||
placeholder: 'Pilih Wilayah',
|
placeholder: 'Pilih Wilayah',
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "/selectRegenc/" + id,
|
url: "/selectRegenc/" + id, // Isi dengan URL yang sesuai
|
||||||
processResults: function ({
|
processResults: function ({ data }) {
|
||||||
data
|
|
||||||
}) {
|
|
||||||
return {
|
return {
|
||||||
results: $.map(data, function (item) {
|
results: $.map(data, function (item) {
|
||||||
return {
|
return {
|
||||||
@ -304,31 +438,40 @@ $(document).ready(function () {
|
|||||||
text: item.name
|
text: item.name
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$("#selectRegenc").change(function () {
|
|
||||||
let id = $('#selectRegenc').val();
|
|
||||||
|
|
||||||
$("#selectDistric").select2({
|
// Event listener untuk perubahan pada selectRegenc
|
||||||
placeholder: 'Pilih Kota',
|
$("#selectRegenc").change(function () {
|
||||||
ajax: {
|
let id = $('#selectRegenc').val();
|
||||||
url: "/selectDistric/" + id,
|
|
||||||
processResults: function ({ data }) {
|
// Mengosongkan pilihan di selectDistric
|
||||||
return {
|
$("#selectDistric").empty();
|
||||||
results: $.map(data, function (item) {
|
|
||||||
return {
|
// Menghapus properti 'disabled' pada selectDistric
|
||||||
id: item.id,
|
$("#selectDistric").prop("disabled", false);
|
||||||
text: item.name
|
|
||||||
}
|
// Memuat ulang data berdasarkan wilayah yang baru dipilih di selectDistric
|
||||||
})
|
$("#selectDistric").select2({
|
||||||
}
|
placeholder: 'Pilih Kecamatan',
|
||||||
}
|
ajax: {
|
||||||
}
|
url: "/selectDistric/" + id, // Isi dengan URL yang sesuai
|
||||||
});
|
processResults: function ({ data }) {
|
||||||
});
|
return {
|
||||||
|
results: $.map(data, function (item) {
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
text: item.name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
/******************************************
|
/******************************************
|
||||||
* END AJAX DROPDOWN SELECT PROVINSI, KABUPATEN & KECAMATAN
|
* END AJAX DROPDOWN SELECT PROVINSI, KABUPATEN & KECAMATAN
|
||||||
|
@ -52,6 +52,11 @@
|
|||||||
background-color: #900c3e !important;
|
background-color: #900c3e !important;
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#foto-preview-ktp,
|
||||||
|
#foto-preview-ekyc {
|
||||||
|
width: 300px
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -201,7 +206,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<input type="text" class="input-field" id="alamat" name="alamat" placeholder="Alamat lengkap Anda" cols="50" rows="4" style="width: 190%; padding: 0rem 1rem;" required>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -214,34 +219,32 @@
|
|||||||
<div class="slider-container">
|
<div class="slider-container">
|
||||||
<div class="slider">
|
<div class="slider">
|
||||||
<div class="slide fade">
|
<div class="slide fade">
|
||||||
<form id="bukuTamuForm" method="POST" enctype="multipart/form-data">
|
<form id="bukuTamuFormKtp" method="POST" enctype="multipart/form-data">
|
||||||
<div
|
<div style="display: flex; flex-direction: column; align-items: center">
|
||||||
style=" display: flex; flex-direction: column; align-items: center">
|
|
||||||
<h3 style="">KTP Anda</h3>
|
<h3 style="">KTP Anda</h3>
|
||||||
<div id="webcam-container">
|
<video id="webcamKtp" autoplay playsinline></video>
|
||||||
<video id="webcamKtp" autoplay playsinline>
|
<div id="foto-preview-ktp"></div>
|
||||||
<div id="foto-preview"></div>
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<input type="hidden" id="fotoKtp" name="foto">
|
<input type="hidden" id="fotoKtp" name="foto">
|
||||||
<button type="button" class="btn-foto"
|
<div style="display: flex; margin-top: 1rem">
|
||||||
id="captureButtonKtp">Ambil Foto</button>
|
<button type="button" class="btn-foto" id="startButtonKtp" data-state="off">Mulai Kamera</button>
|
||||||
|
<button type="button" class="btn-foto" id="captureButtonKtp">Ambil Foto</button>
|
||||||
|
<button type="button" class="btn-foto" id="refreshButtonKtp">Ulang Foto</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="slide fade">
|
<div class="slide fade">
|
||||||
<form id="bukuTamuForm" method="POST" enctype="multipart/form-data">
|
<form id="bukuTamuFormEkyc" method="POST" enctype="multipart/form-data">
|
||||||
<div
|
<div style="display: flex; flex-direction: column; justify-content: center; align-items: center">
|
||||||
style="display: flex; flex-direction: column; justify-content: center; align-items: center">
|
|
||||||
<h3>E-KYC Anda</h3>
|
<h3>E-KYC Anda</h3>
|
||||||
<div id="webcam-container">
|
<video id="webcamEkyc" autoplay playsinline></video>
|
||||||
<video id="webcamEkyc" autoplay playsinline>
|
<div id="foto-preview-ekyc"></div>
|
||||||
<div id="foto-preview"></div>
|
|
||||||
</video>
|
|
||||||
</div>
|
|
||||||
<input type="hidden" id="fotoEkyc" name="foto">
|
<input type="hidden" id="fotoEkyc" name="foto">
|
||||||
<button type="button" class="btn-foto"
|
<div style="display: flex; margin-top: 1rem">
|
||||||
id="captureButtonEkyc">Ambil Foto</button>
|
<button type="button" class="btn-foto" id="startButtonEkyc" data-state="off">Mulai Kamera</button>
|
||||||
|
<button type="button" class="btn-foto" id="captureButtonEkyc">Ambil Foto</button>
|
||||||
|
<button type="button" class="btn-foto" id="refreshButtonEkyc">Ulang Foto</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user