Masih ingat dengan artikel Mengaktifkan TextBox Saat Radio Button Terpilih di Aplikasi Web dari PHPMaker? Artikel itu membahas bagaimana mudahnya Web Developer menerapkan business-logic di sisi browser. Contohnya, kita dapat mengaktifkan atau menonaktifkan control TextBox berdasarkan nilai yang terpilih di control Radio Button.
Di artikel berikut ini kita akan membahas contoh yang sama dengan yang terdapat di artikel tersebut. Tapi, kali ini kita akan menampilkan atau menyembunyikan control TextBox daripada mengaktifkan atau menonaktifkannya. Oleh karena itu, pastikan tipe control field AndaMhs sudah menggunakan tipe Radio Button melalui menu: Fields setup -> Edit Tag pada project PHPMaker yang bertalian.
Sedangkan untuk kode yang sebelumnya terdapat pada bagian Startup Script yang masing-masing berada di bawah lokasi Client Scripts -> Table-Specific -> Add/Copy Page -> Startup Script dan Client Scripts -> Table-Specific -> Edit Page -> Startup Script (jika ada), silahkan diganti masing-masing menjadi seperti yang di bawah ini:
$(document).ready(function() { // Kondisi saat Form di-load if($('input[name=x_AndaMhs]:radio:checked').val()=="Y"){ $('#r_NamaMhs').show(); } else { $('#r_NamaMhs').hide(); } // Kondisi saat Radio Button diklik $('input[name=x_AndaMhs]:radio').click(function(){ if($(this).attr("value")=="N"){ $('#x_NamaMhs').val(''); $('#r_NamaMhs').hide(); } else { $('#r_NamaMhs').show(); $('#x_NamaMhs').focus(); } }); });
PHPMaker akan menambahkan id untuk setiap baris record dengan menggunakan awalan (prefix) r_ yang diikuti dengan nama Field yang bertalian. Dalam contoh kode tadi, maka untuk menyembunyikan control Label beserta TextBox untuk field NamaMhs, maka kita menggunakan nama r_NamaMhs.
Uhuuuuyyy… betapa mudahnya membangun Aplikasi Web dengan menggunakan PHPMaker! π
Wiradarma mengatakan
Mau tanya Startup Script nya dimana itu berada yah , kok tidak ada dibagian add/copy nya
trimakasi…
Masino Sinaga mengatakan
Pastikan terlebih dulu klik salah satu tabel yang diinginkan dari panel Database di sebelah kiri, lalu klik di panel kanan tab yang bernama Code (Server Events, Client Scripts and Custom Templates), kemudian browse ke lokasi ini: Client Scripts -> Table-Specific -> Add/Copy Page -> Startup Script.
firman mengatakan
script nya sudah saya coba dan bisa cuma ini ada sedikit masalah
kan saya buat 2 radio button nah satu ya (value nya “Y” )satu tidak (valuenya “N”)
pas saya klik ya atau tidak tetap keluar field yang di hide tadi
gimana cara nya agar kalau di klik Y kemudian keluar field nya klo tidak field nya akan hilang.
script saya:
terima kasih
Masino Sinaga mengatakan
Biasanya hal ini terjadi karena file english.xml atau .xml bahasa lainnya untuk menampilkan teks dalam bahasa tertentu belum di-generate atau belum di-upload ke web server.
Pastikan Anda sudah men-generate semua file script, termasuk yang terdapat di bagian Other files pada jendela dialog Generate.
Masino Sinaga mengatakan
Setelah saya cek, ternyata Anda benar. Ada satu baris kode yang salah.
Ganti:
menjadi:
Terima kasih sudah mengingatkan. π
firman mengatakan
dah bisa mas terima kasih
oh iya mau tanya sekalian .
saya punya tabel mahasiswa dengan field (id, NIS, nama, alamat,)
kemudian saya punya 2 menu tapi dalam 1table . 1 menu menampilkan nis dan nama menu ke 2 menampilkan semua gimana mas caranya
Masino Sinaga mengatakan
Buat terlebih dulu dua View di dalam database dengan field-field yang diinginkan. Selanjutnya gunakan kedua View tadi untuk kedua menu tersebut.
firman mengatakan
mas sinaga mau tanya lagi nih… π
saya punya masalah gini :
ada beberapa pilihan check box dan salah satu check box nya adalah other dimana harus di isi manual gimn mas caranya biar bisa kayak begitu
terimakasih …
Masino Sinaga mengatakan
Itu kan sama dengan kode yang terdapat di artikel: Menampilkan TextBox Saat CheckBox Tercentang di Aplikasi Web dari PHPMaker.
Nanda mengatakan
saya coba pakai versi 2017 kok ga bisa Focus ke NamaMhs ya … ?
untuk Text Muncul dan hilang nya sudah bisa, cuma ketika di Klik Radio ‘AndaMhs’ tidak bisa Focus ke Text ‘NamaMhs’
apakah ada perubahan kode disini : $(‘#x_NamaMhs’) ??
Nanda mengatakan
ooh, yg ini sudah bisa Bang Masino.
saya coba bongkar Script File nya ternyata harus ditambahkan ini : $(β#sv_x_NamaMhsβ).
Terimakasih.
Masino Sinaga mengatakan
Sama-sama.
Dendi mengatakan
maaf bang Masino, di PHP Maker 2021 kok sudah engga berfungsi ya,
apa ada kode yang harus diganti ?
Masino Sinaga mengatakan
Coba tekan tombol F12 dari browser, lalu cek apakah ada error Javascript dari bagian Console.
Dendi mengatakan
sudah dicek di bagian ini:
berfungsi dengan baik (saat diload pertama kali).
tapi saat diklik masih belum ada perubahan.
Masino Sinaga mengatakan
Kode saat event click bisa di-post sekalian?
Dendi mengatakan
Terimakasih Bang Masino, saya coba buat Tabel :
Setting Field “pilihan” di Project menggunakan Radio Button dengan 3 pilihan (1,2,3) akan memunculkan Textbox Jawab(1,2,3) sesuai pilihan.
untuk Kode selengkapnya :
dari kode diatas, saat Form di Load sudah berhasil menyembunyikan ketiga Textbox, tetapi saat Radio di klik tidak ada perubahan.
ooh iya bang, kalau saya lihat di dalam File nya ada sedikit perubahan dari Versi sebelumnya (yang pernah saya pakai), yaitu :
apakah karena itu ya ?
Masino Sinaga mengatakan
Sepertinya karena itu. Coba disesuaikan kodenya, bungkus dengan:
Dendi mengatakan
ini saya coba tambahkan kode tersebut, dan saya coba hilangkan juga masih belum ada perubahan.
dan saya juga utak atik (hilangkan dan tambahkan) Kode pembuka ini
masih sama belum ada perubahan, malah perubahan terjadinya pada saat di Load (Textbox muncul semua)
Widodo mengatakan
Siang Pak Masino,
Pak nanya, bila kondisinya radio buttonnya itu selain Yes/No gimana ya Pak?
misal opsi radio buttonnya ada Pedapatan dan Pengeluaran.
mohon dicontohkan ya Pak ππ»ππ»ππ»
Masino Sinaga mengatakan
Pada prinsipnya sama saja dengan contoh kode di atas. Tinggal diganti saja kode untuk Pendapatan apa, dan kode untuk Pengeluaran apa.
Perhatikan contoh di atas, opsi Yes kodenya Y, dan opsi No kodenya N. Sesimpel itu saja.
Widodo mengatakan
baik Pak,
saya coba dulu.
terimakasih arahannya.
Masino Sinaga mengatakan
Sama-sama.