Judul : Persoalan Pesan Formulir Komentar Blogger Yang Jatuh Ke Bawah
link : Persoalan Pesan Formulir Komentar Blogger Yang Jatuh Ke Bawah
Persoalan Pesan Formulir Komentar Blogger Yang Jatuh Ke Bawah
Posting ini sekaligus sebagai tanggapan dari beberapa pertanyaan tentang bar emotikon jQuery yang sering kali tampil pada daerah yang salah jikalau kita memakai template persyaratan Blogger.
Masalah ini sungguh sering ditanyakan di sini (kemunculan pertanyaan sejenis terbanyak mampu ditemukan di posting Emotikon Blogger Otomatis dengan jQuery). Ini tentang persoalan pesan formulir komentar yang akan jatuh/meletakkan diri di bawah formulir komentar tanpa kita harapkan pada ketika-saat tertentu. Kita semua baiklah bahwa pesan untuk para komentator idealnya terletak sempurna di atas formulir komentar, namun untuk beberapa kasus mereka lazimnya akan turun ke bawah dengan cara yang gila.
Pada mulanya Saya juga merasa gundah dengan cara kerja fitur baru Blogger ini, sampai Saya mencoba membandingkan sebagian script di blog Saya dengan salah satu script yang sudah berhasil diimplementasikan oleh suatu blog yang Saya kunjungi:
document.getElementById(domId).insertBefore(replybox, null);
replybox
yaitu variabel. Jika Anda mengalihkan perhatian Anda sedikit ke sebelah atas maka Anda akan mendapatkan bahwa replybox
yaitu variabel untuk menyatakan komponen #comment-editor
:
var onReply = function(commentId, domId) if (replybox == null) // lazily cache replybox, and adjust to suit this style:replybox = document.getElementById('comment-editor'); if (replybox != null) replybox.height = '250px'; replybox.style.display = 'block'; replyUrlParts = replybox.src.split('#'); if (replybox && (commentId !== replyParent)) document.getElementById(domId).insertBefore(replybox, null); replybox.src = replyUrlParts[0] + (commentId ? '&parentID=' + commentId : '') + '#' + replyUrlParts[1]; replyParent = commentId; ;
Meskipun variabel tersebut tidak berada dalam satu keadaan, tapi setidaknya kita sudah tahu titik terangnya. Itulah kesalahannya! #comment-editor
sesungguhnya ialah elemen formulir komentar yang serupa sekali tidak bekerjasama dengan pesan formulir komentar. Pesan formulir komentar bukanlah bab dari elemen formulir komentar. Dia cuma menaruh diri di sebelah atas formulir menyerupai ini:
mewakili pesan formulir komentar, dan elemen yang terletak di bawahnya mewakili formulir komentar. Selengkapnya tentang struktur formulir komentar Blogger mampu Anda pelajari di artikel Struktur Label dan Status Komentar.
Oleh alasannya adalah yakni itu, ketika kita mengeklik tombol Balas, maka yang akan terangkat hanya formulir komentarnya saja, sedangkan pesan formulir komentar yang seharusnya ikut dibawa akan ditinggalkan. Karena dalam script di atas, .insertBefore()
hanya akan menjinjing replybox
yang notabene adalah #comment-editor
, bukan .comment-form
:
Buat Elemen Pembungkus Baru untuk Mengangkat Formulir Komentar Beserta Kelengkapannya
Solusi untuk mengatasi dilema ini ialah dengan cara menyertakan unsur pembungkus baru yang hendak kita pakai untuk mengelilingi formulir dan pesan formulir komentar. Dengan begitu, kita tidak akan menugaskan .insertBefore()
untuk mengangkat elemen replybox
namun kita akan menciptakan ia mengangkat bagian pembungkusnya, sehingga formulir komentar dan pesan formulir komentar di dalamnya akan ikut terbawa ke mana saja bagian pembungkus berpindah.
Masuklah ke halaman Editor HTML Template, lalu cek Expand Template Widget. Temukan aba-aba ini:
TIP: Tekan CTRL + F kemudian ketik 'threaded-comment-form' untuk mempermudah pencarian.
Ganti semua kode di atas dengan kode ini:
Pada kode di atas Anda akan melihat bahwa Saya sudah mengelilingi unsur Kita tahu bahwa di dalam Terakhir, untuk memodifikasi script thread-commenting Blogger agar tidak hanya mengangkat/menggeser formulir komentarnya saja, lihatlah kembali pada bab ini: Ganti dengan instruksi ini: Klik Simpan Template. Sekarang setiap kali kita mengeklik tombol Balas, maka yang akan berpindah-pindah ialah bagian Cara yang satu ini lebih sederhana. Anda tidak butuhmembaca tutorial di atas untuk memecahkan dilema seperti ini. Pertama-tama cari arahan ini: Ganti dengan instruksi ini lalu simpan perubahan yang ada: Selesai! dan
dengan bagian .insertBefore()
untuk memindah-mindah unsur formulir komentar dan pesan formulir komentar di dalamnya. #form-wrapper
terdapat formulir komentar dan pesan formulir komentar, oleh sebab ialah itulah ke dua komponen tersebut (formulir dan pesan formulirnya) akan ikut terbawa seiring berpindahnya elemen #form-wrapper
:document.getElementById(domId).insertBefore(replybox, null);
document.getElementById(domId).insertBefore(document.getElementById('form-wrapper'), null);
#form-wrapper
dan bukan komponen #comment-editor
.#comment-editor
dan pesan formulir komentar di dalamnya cuma akan berdiam diri di dalam #form-wrapper
dan akan mengikuti ke mana saja ia berpindah.
Cara Lain
document.getElementById(domId).insertBefore(replybox, null);
document.getElementById(domId).insertBefore(replybox.parentNode, null);