Masino Sinaga

A Web Developer Who Helps Web Developers

Anda di sini: Beranda / PHPMaker / ReadOnly vs Disabled, Sebaiknya Pilih yang Mana?
Begini Mudahnya Membuat Modal Dialog Menjadi Draggable di PHPMaker 2024
Mudahnya Menghilangkan Search Operator pada Extended dan Advanced Search di PHPMaker 2024

ReadOnly vs Disabled, Sebaiknya Pilih yang Mana?

Sen, 4 Desember 2023 oleh Masino Sinaga Tinggalkan Komentar

Sering kali kita harus menonaktifkan field tertentu di sebuah form. Tidak terkecuali dengan aplikasi yang dihasilkan oleh PHPMaker. Pertanyaannya, sebaiknya pakai yang mana? ReadOnly atau Disabled?

Sebelum membahas lebih detail, PHPMaker 2024 sudah menyediakan method milik object Table atau Page yang bernama setFieldProperties. Seperti namanya, method ini berfungsi untuk mengeset attribute tertentu milik semua field yang terdapat di dalam form pada object Table atau Page tadi.

Method ini sangat bermanfaat dan efektif, jika kita ingin mengeset semua field di sebuah form dengan attribute tertentu, tanpa harus mengeset satu per satu field. Bayangkan jika di sebuah form terdapat 20 field atau lebih, betapa repotnya jika harus mengeset satu per satu menggunakan kode.

Method setFieldProperties ini memiliki dua param. Pertama adalah attribute, dan yang kedua adalah nilai true atau false. Attribute bisa berupa nilai ReadOnly atau bisa juga Disabled. Jika param kedua bernilai true, maka itu artinya semua field akan diset menjadi ReadOnly atau Disabled (tergantung attribute pada param pertama tadi).

Contoh jika menggunakan ReadOnly:

$this->setFieldProperties("ReadOnly", true);

Contoh jika menggunakan Disabled:

$this->setFieldProperties("Disabled", true);

Jika attribute pada param pertama menggunakan ReadOnly, maka tidak semua control di form tersebut style atau tampilannya seperti sedang ReadOnly. Hanya control Select atau Combobox saja yang berwarna gray sehingga terlihat ReadOnly. Sedangkan control Textbox, Checkbox, dan Radio Button (input control), tetap berwarna latar belakang putih, sehingga sekilas nampaknya seperti tidak ReadOnly, meskipun sebenarnya ReadOnly.

Jika attribute pada param pertama menggunakan Disabled, maka warna background control Textbox akan menjadi gray, sama seperti warna background control Select atau Combobox. Sedangkan warna background control Checkbox dan Radio Button tetap memiliki warna background putih.

Perbedaan utama di antara keduanya adalah, jika control di sebuah form diset sebagai Disabled, maka saat form di-submit, data pada field tersebut tidak akan tersimpan ke database. Jika field tersebut mengijinkan nilai kosong atau nol, maka nilai kosong atau nol itulah yang akan tersimpan ke database. Jadi, berhati-hatilah jika menggunakan attribute Disabled.

Tapi tenang, jika kita menggunakan Disabled, kita masih bisa mengatasi permasalahan tadi dengan mengisi nilai baru pada field yang Disabled tadi dengan nilai lama pada field tersebut, menggunakan server event Row_Updating. Meskipun terkesan menjadi sedikit ribet juga, karena harus menangani per masing-masing field yang bertalian.

Mau pilih pakai yang mana? ReadOnly atau Disabled? Tergantung kondisi dan kebutuhan. Masing-masing ada kelebihan dan kekurangannya. Jika pakai ReadOnly, maka biasanya perlu kode CSS tambahan untuk mengeset warna background control Textbox menjadi gray. Jika pakai Disabled, maka ada kode tambahan untuk mengisi nilai baru pada masing-masing field dengan nilai lamanya, supaya data tidak hilang saat form di-submit.

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Disabled, PHPMaker 2024, PHPMaker Indonesia, ReadOnly, Server Events, Tutorial PHPMaker

Begini Mudahnya Membuat Modal Dialog Menjadi Draggable di PHPMaker 2024
Mudahnya Menghilangkan Search Operator pada Extended dan Advanced Search di PHPMaker 2024

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7
  • Alasan 20 Harus Pakai Masino Extensions: Maximum Record per Page
  • Alasan 19 Harus Pakai Masino Extensions: Custom Breadcrumb Links
  • Alasan 18 Harus Pakai Masino Extensions: Improvement User Level Permissions
  • Alasan 17 Harus Pakai Masino Extensions: Dynamic Permission for Export Data

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Alasan 21 Harus Pakai Masino Extensions: Form Wizard dengan jQuery SmartWizard v7 pada Alasan 10 Harus Pakai Masino Extensions: Form Wizard
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Masino Sinaga pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025
  • Charly pada Kode Javascript yang Berubah di PHPMaker 2026 dari PHPMaker 2025

(c) Masino Sinaga 2009 - 2026 | WordPress | Catat masuk | Kembali ke atas