Menambahkan JavaScript ke aplikasi Web adalah cara terbaik untuk menambahkan fitur yang meniru fitur yang ditemukan di aplikasi klien/server tanpa mengorbankan semua manfaat penerapan Web. Oracle Application Express menyertakan beberapa antarmuka bawaan yang dirancang khusus untuk menambahkan JavaScript
Ingatlah bahwa JavaScript tidak cocok untuk validasi intensif data. Misalnya, untuk memverifikasi bahwa sebuah nama terkandung dalam tabel database besar, Anda perlu menarik setiap catatan ke klien, membuat dokumen HTML yang sangat besar. Secara umum, operasi kompleks jauh lebih cocok untuk validasi Oracle Application Express sisi server daripada JavaScript
Tutorial ini menjelaskan beberapa skenario penggunaan untuk JavaScript dan menyertakan detail tentang cara mengimplementasikannya di aplikasi Anda
Bagian ini berisi topik-topik berikut
Memahami Cara Memasukkan Fungsi JavaScript
Ada dua tempat utama untuk menyertakan fungsi JavaScript
Dalam atribut Header HTML suatu halaman
Dalam file #TITLE# #HEAD# #FORM_OPEN# _4 yang direferensikan dalam template halaman
Topik pada bagian ini meliputi
Memasukkan JavaScript dalam Atribut Header HTML
Salah satu cara untuk memasukkan JavaScript ke dalam aplikasi Anda adalah dengan menambahkannya ke atribut Header HTML halaman. Ini adalah pendekatan yang bagus untuk fungsi yang khusus untuk halaman serta cara mudah untuk menguji fungsi sebelum Anda memasukkannya ke dalam file #TITLE# #HEAD# #FORM_OPEN# 4
Anda dapat menambahkan fungsi JavaScript ke halaman dengan memasukkan kode di atribut Header HTML di halaman Atribut Halaman
Untuk menambahkan kode JavaScript pada atribut HTML Header
Di beranda Workspace, klik ikon Application Builder
Pilih aplikasi
Halaman beranda Aplikasi muncul, menampilkan kumpulan halamannya
Klik sebuah halaman
Definisi Halaman untuk halaman itu muncul
Di bagian Halaman, klik ikon Edit atribut halaman
Halaman Edit muncul
Gulir ke bawah ke bagian Header HTML
Masukkan kode ke HTML Header lalu klik Apply Changes
Misalnya, menambahkan kode berikut akan menguji fungsi yang dapat diakses dari mana saja di halaman saat ini
Termasuk JavaScript di a. File js Direferensikan oleh Template Halaman
Di Oracle Application Express Anda dapat mereferensikan file #TITLE# #HEAD# #FORM_OPEN# 4 di templat halaman. Pendekatan ini membuat semua JavaScript dalam file tersebut dapat diakses oleh aplikasi. Ini adalah pendekatan yang paling efisien karena file #TITLE# #HEAD# #FORM_OPEN# 4 dimuat pada tampilan halaman pertama aplikasi Anda, dan kemudian di-cache oleh browser
Kode berikut menunjukkan cara memasukkan a. js di bagian header template halaman. Perhatikan baris #TITLE# #HEAD# #FORM_OPEN# _8 yang dicetak tebal
#TITLE# #HEAD# #FORM_OPEN#Tentang Mereferensikan Item Menggunakan JavaScript
Saat Anda mereferensikan item, pendekatan terbaik adalah mereferensikan nama item seperti yang ditentukan di dalam halaman. Perhatikan bahwa nama item berbeda dari label item. Nama item ditampilkan di Definisi Halaman dan label ditampilkan di halaman yang berjalan. Misalnya, jika Anda membuat item dengan nama #TITLE# #HEAD# #FORM_OPEN# 9 dan label // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 0, Anda akan mereferensikan item menggunakan #TITLE# #HEAD# #FORM_OPEN# 9
Merujuk item dengan nama item memungkinkan Anda menggunakan metode JavaScript // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 2 untuk mendapatkan dan menetapkan atribut dan nilai item. Contoh berikut menunjukkan cara mereferensikan item berdasarkan ID dan menampilkan nilainya di kotak peringatan
// Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" _Memanggil JavaScript dari Tombol
Memanggil JavaScript dari tombol adalah cara yang bagus untuk mengonfirmasi permintaan. Oracle Application Express menggunakan teknik ini untuk operasi penghapusan sebagian besar objek. Misalnya, saat Anda menghapus tombol, muncul pesan JavaScript yang meminta Anda untuk mengonfirmasi permintaan Anda. Perhatikan contoh berikut
Contoh ini membuat fungsi untuk mengonfirmasi tindakan penghapusan lalu memanggil fungsi tersebut dari tombol. Perhatikan bahwa fungsi secara opsional mengirimkan halaman dan menetapkan nilai variabel internal // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 3 ke // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 4, sehingga melakukan penghapusan menggunakan proses yang dijalankan secara kondisional berdasarkan nilai permintaan
Perhatikan bahwa saat Anda membuat tombol, Anda harus memilih Action Redirect to URL without submiting page. Kemudian, Anda tentukan target URL, seperti berikut ini
confirmDelete('Would you like to perform this delete action?');Mengubah Nilai Elemen Formulir
Dalam contoh berikut, ada empat kotak teks di suatu wilayah. Kotak teks keempat berisi jumlah dari tiga lainnya. Untuk menghitung jumlah ini, Anda menambahkan fungsi JavaScript ke atribut Header HTML, lalu memanggil fungsi tersebut dari tiga item pertama
Untuk menambahkan fungsi pada atribut Header HTML
Buka Definisi Halaman yang sesuai
Di bagian Halaman, klik ikon Edit atribut halaman
Halaman Edit muncul
Di bagian Header HTML, masukkan berikut ini
Klik Terapkan Perubahan
Untuk memanggil fungsi dari ketiga item tersebut
Buka Definisi Halaman yang sesuai
Untuk setiap item
Pilih nama item dengan mengkliknya
Gulir ke bawah ke Elemen
Di Atribut Elemen Formulir HTML, masukkan
onchange="sumItems();"Klik Terapkan Perubahan
Membuat Validasi JavaScript Sisi Klien
Validasi sisi klien memberikan umpan balik langsung kepada pengguna menggunakan formulir. Salah satu validasi JavaScript yang sangat umum adalah bidang bukan nol. Jenis validasi ini bekerja dengan baik di header halaman daripada di #TITLE# #HEAD# #FORM_OPEN# 4 karena sangat spesifik untuk halaman
Sebelum memulai, Anda perlu mengimpor dan menginstal aplikasi OEHR Sample Objects untuk mengakses objek database sampel yang diperlukan. Lihat
Topik pada bagian ini meliputi
Buat Aplikasi pada Tabel OEHR_EMPLOYEES
Untuk membuat aplikasi baru pada tabel // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 6
Di halaman beranda Workspace, klik Application Builder
Klik Buat
Untuk Method, pilih Create Application lalu klik Next
Untuk Nama, tentukan yang berikut ini
Nama - Masukkan // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" _7
Aplikasi - Terima default
Buat Aplikasi - Pilih Dari awal
Skema - Pilih skema tempat Anda menginstal objek sampel OEHR
Klik Berikutnya
Tambahkan halaman yang berisi laporan dengan menentukan yang berikut di bagian Tambahkan Halaman
Pilih Jenis Halaman - Pilih Laporan dan Formulir
Nama Tabel - Pilih OEHR_EMPLOYEES
Klik Tambahkan Halaman
Halaman baru muncul dalam daftar di bagian atas halaman. Selanjutnya ganti nama halaman 2 menjadi Update Form
Untuk mengubah nama halaman 2
Di bawah Buat Aplikasi di bagian atas halaman, klik nama halaman OEHR_EMPLOYEES untuk halaman 2 seperti yang ditunjukkan pada
Definisi Halaman muncul
Di Nama Halaman, masukkan // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" 8
Klik Terapkan Perubahan
Klik Berikutnya
Untuk Tabs, terima defaultnya, One Level of Tabs lalu klik Next
Untuk Shared Components, terima defaultnya, No, dan klik Next
Untuk Atribut, terima default untuk Skema Otentikasi, Bahasa, dan Preferensi Bahasa Pengguna Berasal Dari dan klik Berikutnya
Untuk User Interface, pilih Theme 2 dan klik Next
Klik Buat
Halaman beranda Aplikasi muncul. Catatan aplikasi baru berisi tiga halaman
1 - OEHR_EMPLOYEES
2 - Perbarui Formulir
101 - Masuk
Untuk melihat aplikasi
Klik ikon Jalankan Aplikasi seperti yang ditunjukkan pada
Saat diminta nama pengguna dan kata sandi, masukkan nama pengguna dan kata sandi ruang kerja Anda dan klik Login. Lihat
Laporan standar muncul. Untuk melihat formulir pembaruan, klik tombol Buat atau ikon Edit
Klik Aplikasi pada bilah alat Pengembang untuk kembali ke halaman beranda Aplikasi
Tambahkan Fungsi ke Atribut Header HTML
Selanjutnya, Anda perlu menambahkan fungsi pada atribut Header HTML pada halaman 2 yang menampilkan pesan ketika kolom Nama Belakang tidak berisi nilai
Untuk menambahkan fungsi pada atribut Header HTML pada halaman 2
Di halaman beranda Aplikasi, klik 2 - Perbarui Formulir
Definisi Halaman untuk halaman 2 muncul
Di bawah Halaman, klik ikon Edit atribut halaman seperti yang ditunjukkan di
Halaman Edit muncul
Gulir ke bawah ke Tajuk HTML
Perhatikan bahwa Header HTML sudah berisi skrip. Saat pengguna mengklik tombol Hapus, skrip ini menampilkan pesan berikut
Would you like to perform this delete action?Di Header HTML, gulir ke bawah dan tempatkan kursor Anda setelah tag terakhir
Setelah tag terakhir, masukkan skrip berikut
Di bagian atas halaman, klik Terapkan Perubahan
Definisi Halaman untuk halaman 2 - Formulir Pembaruan muncul
Edit Item untuk Memanggil Fungsi
Selanjutnya, Anda perlu mengedit item // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" _9 untuk memanggil fungsi tersebut
Untuk mengedit item // Then add the following to the "Form Element Attributes" Attribute of the item: onchange="displayValue('P1_FIRST_NAME');" _9 untuk memanggil fungsi
Di bawah Item, klik P2_LAST_NAME
Gulir ke bawah ke Elemen
Dalam Atribut Elemen Formulir HTML, masukkan yang berikut ini
onblur="notNull(this);"Di bagian atas halaman, klik Terapkan Perubahan
Definisi Halaman muncul. Selanjutnya, jalankan halaman
Uji Validasi dengan Menjalankan Halaman
Selanjutnya, navigasikan ke halaman 1 dan jalankan halaman tersebut
Untuk menguji validasi
Masukkan 1 di bidang Halaman di Definisi Halaman dan klik Buka
Definisi Halaman untuk halaman 1 muncul
Klik ikon Jalankan Halaman di pojok kanan atas
Saat aplikasi muncul, klik Buat
Formulir Pembaruan muncul
Posisikan kursor Anda di bidang Nama Belakang, lalu klik Buat. Pesan _1 muncul seperti yang ditunjukkan pada
Mengaktifkan dan Menonaktifkan Elemen Formulir
Sementara Oracle Application Express memungkinkan Anda untuk menampilkan item halaman secara kondisional, penting untuk dicatat bahwa halaman harus dikirimkan untuk setiap perubahan pada halaman yang akan dievaluasi. Contoh berikut menunjukkan cara menggunakan JavaScript untuk menonaktifkan elemen formulir berdasarkan nilai elemen formulir lainnya
Pertama, Anda menulis fungsi dan menempatkannya di atribut Header HTML halaman yang berisi formulir pembaruan Anda. Kedua, Anda memanggil fungsi dari item di halaman. Contoh berikut menunjukkan cara menambahkan fungsi JavaScript untuk mencegah pengguna menambahkan komisi kepada karyawan yang tidak berada di Departemen Penjualan (P2_DEPARTMENT_ID = 80)
Topik pada bagian ini meliputi
Tambahkan Fungsi ke Atribut Header HTML
Untuk menambahkan fungsi pada atribut Header HTML pada halaman 2
Buka Definisi Halaman untuk halaman 2
Di bawah Halaman, klik ikon Edit atribut halaman
Halaman Edit muncul
Gulir ke bawah ke Tajuk HTML
Di Header HTML, gulir ke bawah dan tempatkan kursor Anda setelah tag terakhir
Setelah tag terakhir, masukkan skrip berikut
Klik Terapkan Perubahan
Edit Item untuk Memanggil Fungsi
Langkah selanjutnya adalah mengedit item 2 dan menambahkan kode ke atribut Atribut Elemen Formulir HTML untuk memanggil fungsi
Untuk mengedit item _2 untuk memanggil fungsi
Di bawah Item, pilih P2_DEPARTMENT_ID
Gulir ke bawah ke Elemen
Dalam Atribut Elemen Formulir HTML, masukkan yang berikut ini
#TITLE# #HEAD# #FORM_OPEN# _1Klik Terapkan Perubahan
Ubah Item ke Daftar Pilih
Untuk mengubah _2 untuk ditampilkan sebagai daftar pilihan
Di bawah Item, pilih P2_DEPARTMENT_ID
Dari daftar Tampilkan Sebagai di bagian Nama, pilih Pilih Daftar
Gulir ke bawah ke Daftar Nilai
Di bawah Daftar Nilai, tentukan yang berikut ini
Dari Tampilan Null, pilih No
Dalam definisi Daftar Nilai, masukkan
#TITLE# #HEAD# #FORM_OPEN# _2
Klik Terapkan Perubahan
Tip
Untuk kesederhanaan, tutorial ini meminta Anda membuat daftar nilai level item. Namun, sebagai praktik terbaik, pertimbangkan untuk membuat LOV bernama dan mereferensikannyaBuat Panggilan ke Fungsi disFormItems
Terakhir, Anda perlu membuat panggilan ke fungsi _5 setelah halaman dirender untuk menonaktifkan 6 jika karyawan yang dipilih bukan perwakilan Penjualan. Tempat yang baik untuk melakukan panggilan ini adalah dari Atribut Badan HTML Halaman
Untuk membuat panggilan ke fungsi _5
Buka Definisi Halaman untuk halaman 2
Di bawah Halaman, klik ikon Edit atribut halaman
Halaman Edit muncul
Temukan bagian Atribut Tampilan
Dari Fokus Kursor, pilih Jangan fokuskan kursor
Memilih Jangan fokuskan kursor mencegah konflik antara JavaScript yang dihasilkan dan JavaScript khusus
Gulir ke bawah ke bagian Atribut Badan HTML
Di Atribut Badan HTML Halaman, masukkan berikut ini
#TITLE# #HEAD# #FORM_OPEN# _3Klik Terapkan Perubahan
Jalankan halaman
menunjukkan formulir yang telah diisi. Perhatikan bahwa ID Departemen ditampilkan sebagai daftar pilihan. Perhatikan juga bahwa bidang Komisi Pct tidak tersedia karena ID Departemen adalah Administrasi