Beberapa tahun belakangan ini saya sering membuat program berbasis web yang tentu di dalamnya sering kali berisi kode-kode AJAX. Blog ini berisi catatan pengalaman saya yang mungkin bisa menjadi tips berguna buat para pembaca yang juga suka membuat program web dengan AJAX. Disini juga terdapat beberapa tips berkaitan dengan AJAX compatibility dari berbagai browser, terutama Firefox, Internet Explorer, dan mungkin juga Safari.

Agar mudah dibaca (dan mudah ditulis, hehe) tulisan ini akan saya buat menjadi beberapa artikel, dengan 3-5 tips tiap artikel. Artikel-artikel ini insya Allah akan saya tulis setiap kali saya menemukan tips baru. Suatu saat jika sudah banyak, mudah-mudahan bisa saya rapikan menjadi lebih sistematis.

Berikut ini adalah bagian pertama.

  1. Para programmer sering mengabaikan penggunaan awalan <!DOCTYPE di setiap awal document. Padahal awalan ini menentukan bagaimana browser akan menginterprestasikan halaman kita. Jika halaman web atau program AJAX tampak berperilaku aneh tidak seperti yang diharapkan, bisa jadi DOCTYPE yang tidak tepat menjadi penyebabnya. Secara umum, di setiap tipe DOCTYPE terdapat jenis/versi dokumen (misal HTML 4.01, XHTML 1.0, dll), dan setiap jenis/versi dokumen biasanya memiliki tiga macam doctype: STRICT, TRANSITIONAL, dan FRAMESET. Lebih detil tentang DOCTYPE dapat anda lihat disini: http://alistapart.com/stories/doctype/
  2. Di Firefox anda dapat memanipulasi properti innerHTML untuk tag <table> dan <tr> agar menghasilkan tabel yang dinamis. Tetapi di IE, properti ini read-only, dan anda harus menggunakan table-object-model untuk membuat tabel yang dinamis. Table-object-model ini dapat anda akses dengan menggunakan collection rows pada table object dan cells pada tr object.
  3. Value yang anda dapatkan dari sebuah input di form adalah bertipe string. Jadi anda harus mengkonversikannya (dengan method parseInt atau parseFloat) ke bilangan jika anda ingin melakukan operasi aritmatika pada input di form. Misalnya, x adalah input form, dan user mengisinya dengan angka 123. Jika anda melakukan operasi x + 10 sebelum mengkonveri tipe x ke int, maka anda akan mendapatkan “12310” bukan 133.
  4. Yang berikut ini rada ajaib… tanda <!– komentar –> tidak bisa anda gunakan untuk komentar di css. Di IE ini ok-ok saja. Tapi di firefox keajaiban terjadi, jika anda gunakan <!– komentar –> di css file, somehow firefox akan meng-skip satu entry css sesudah tanda komentar tersebut. Aneh… beware!!

Bersambung…