Dalam posting sebelumnya Expandable HTML form element with Javascript insertAdjacentHTML saya sharing script untuk membuat form dinamis script tersebut sudah saya test tetapi hanya di Internet Explorer saja, tetapi beberapa waktu lalu saya mendapat task untuk bugfixxing dan ternyata bug-nya adalah script Expandable HTML tersebut. masalahnya adalah tidak cross browser compatible.
Mozzila Firefox memang tidak mengenali fungsi insertAdjacentHTML
Cross browser problem huh.. paling bete klo berhadapan dengan problem yang satu ini he eh. setelah ber-googling ria akhirnya ketemu pemecahannya (google is tha best). Mozzila Firefox memang tidak mengenali fungsi insertAdjacentHTML, so dengan menambahkan block script di bawah ini semua fungsi insertAdjacentElement, insertAdjacentHTML, insertAdjacentText bisa berjalan baik di Mozilla FireFox.
HTMLElement.prototype.insertAdjacentElement){
HTMLElement.prototype.insertAdjacentElement = function
(where,parsedNode)
{
switch (where){
case ‘beforeBegin’:
this.parentNode.insertBefore(parsedNode,this)
break;
case ‘afterBegin’:
this.insertBefore(parsedNode,this.firstChild);
break;
case ‘beforeEnd’:
this.appendChild(parsedNode);
break;
case ‘afterEnd’:
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function
(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML)
}
HTMLElement.prototype.insertAdjacentText = function
(where,txtStr)
{
var parsedText = document.createTextNode(txtStr)
this.insertAdjacentElement(where,parsedText)
}
}
Thats it, sekarang fungsi tersebut sudah bisa dipake untuk Firefox.


















ini dimasukinnya dimana??
ganti yang fungsi sebelumnya atw tambahan???
ditambahkan sebelum javascript di posting sebelumnya