Kali ini kembali ke Javascript Basic lagi. Ketika penulis membuat web selalu ada saja kebutuhan untuk membuka popup window kemudian memilih data dan mengembalikan data ke opener (parent) window.
Yang lebih sulit lagi data yang dipilih harus banyak, atau dalam bentuk check box, seperti gambar di samping.
Caranya buat pemanggil window popup di halaman utama sebagai berikut :
window-popup-pilih-kembalikan-data-call-akses-parent-opener.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<!--
http://cariprogram.blogspot.com
nuramijaya@gmail.com
-->
<body>
<input type="text" name="input1" id="input1" />
<input type="submit" name="button" id="button" value="Popup" onclick="window.open('popup-pilih-checkbox-multiple-data.php', 'winpopup', 'toolbar=no,statusbar=no,menubar=no,resizable=yes,scrollbars=yes,width=300,height=400');" />
<br />
<input type="text" name="input2" id="input2" />
<br />
<label>
<input type="button" name="button2" id="button2" value="Ok" style="visibility:hidden;" />
</label>
</body>
</html>
Kemudian buat halaman popup dengan kode program berikut ini :
popup-pilih-checkbox-multiple-data.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript">
// http://cariprogram.blogspot.com
// nuramijaya@gmail.com
var kembali1 = '';
var kembali2 = '';
var i;
function cekpegawai()
{
kembali1='';
kembali2='';
for (i=1;i<=3;i++) //jika ingin dinamis, jumlahnya diganti <?php // echo $jmldata; ?>
{
if (document.getElementById('cek'+i).checked==true)
{
if (kembali1=='')
{
kembali1='Pegawai'+i;
kembali2=document.getElementById('hidden'+i).value;
}
else
{
kembali1=kembali1+',Pegawai'+i;
kembali2=kembali2+','+document.getElementById('hidden'+i).value;
}
}
}
}
</script>
</head>
<body>
Klik Nama Pegawai Untuk Memilih 1 Pegawai, <br />
Untuk Memilih Banyak Pegawai pilih Checkbox Kemudian Klik OK.<br />
<?php // jika ingin dinamis datanya, query ke database while { ?>
<input type="checkbox" name="cek1" id="cek1" />
<a href="#" onclick="window.opener.document.getElementById('input1').value = 'Pegawai1'; window.opener.document.getElementById('input2').value = document.getElementById('hidden1').value; window.close(); /*window.opener.document.location='refresh.html'*/;">Pegawai1</a>
<input name="hidden1" type="hidden" id="hidden1" value="NIP1" />
<br />
<input type="checkbox" name="cek2" id="cek2" />
<a href="#" onclick="window.opener.document.getElementById('input1').value = 'Pegawai2'; window.opener.document.getElementById('input2').value = document.getElementById('hidden2').value; window.close(); /*window.opener.document.location='refresh.html'*/;">Pegawai2</a>
<input name="hidden2" type="hidden" id="hidden2" value="NIP2" />
<br />
<input type="checkbox" name="cek3" id="cek3" />
<a href="#" onclick="window.opener.document.getElementById('input1').value = 'Pegawai3'; window.opener.document.getElementById('input2').value = document.getElementById('hidden3').value; window.close(); /*window.opener.document.location='refresh.html'*/;">Pegawai3</a>
<input name="hidden3" type="hidden" id="hidden3" value="NIP3" />
<br />
<input type="button" name="button3" id="button3" value="Ok" onclick="cekpegawai(); window.opener.document.getElementById('input1').value = kembali1; window.opener.document.getElementById('input2').value = kembali2; window.opener.document.getElementById('button2').style.visibility='visible'; window.close(); " />
</body>
</html>
Hasilnya :
Seperti biasa, mohon maaf jika penjelasan di atas agak membingungkan, potongan teknik coding seperti ini sering penulis gunakan jadi harus dimasukkan ke blog ini supaya bisa dicari setiap saat penulis membutuhkan.
Kode Program selengkapnya silakan download disini :
https://docs.google.com/file/d/0B4i1FYc_4RXzZFI4QmlMUVBuOFU/edit
Di Google Docs, klik File - Download
Semoga bisa bermanfaat untuk anda juga. Selamat Coding.
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :

