Der Zugriff auf Elemente per Javascript erfolgt gewöhnlicherweise per getElementById(..). Bei erzeugten ASP.NET Seite kann dies u. U. nicht möglich sein, da das Layout z. Bsp. mit Panels erzeugt wurde. Dann erzeugt ASP.NET verschachtelte Namen zum Steuerelement, in der Form panel1_panel2_steuerelement. Mit folgender Funktion findet man über die "normale" ID das Element auf der Seite:
function FindElement(typ, name)
{
var ctrl = null;
var namen = null;
for(var i=0;i<document.getElementsByTagName(typ).length;i++)
{
ctrl = document.getElementsByTagName(typ).item(i);
namen = ctrl.id.split("_");
if (namen[namen.length-1] == name)
return ctrl;
}
}
Wurde eine ID doppelte vergeben (auf unterschiedlichen Panels), findet die Funktion das erste in der Collection.