Mehr von Jürgen Gutsch

Mehr von Jürgen Gutsch

Empfehlungen von Jürgen Gutsch

Blog-Empfehlungen von Jürgen Gutsch

Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Jürgen Gutsch

ASP.NET und mehr...

News

Problem mit Bildern innerhalb von ASP.NET Labels

Ich habe eben feststellen müssen, dass ein Label Element (<label> oder auch ein <asp:Label /> mit einer AssociatedControlID) das Click-Event nicht an das entsprechende Formularelement weiterleitet, wenn innerhalb des Labels nur ein Bild platziert ist:

<input type="checkbox" id="chb1" value="1" />
<label for="chb1">
    <img alt="" id="DatePickerTest1_imgTime" title="Uhrzeit wählen"
            src="common/images/clock.gif" />
</label>

Nach einigem Suchen bin ich im SelfHTML Forum auf die Erklährung und die Lösung gestoßen:
http://forum.de.selfhtml.org/archiv/2006/4/t128057/#m826953
[quote]Das IMG-Element verkonsumiert im Normalfall die Klick-Aktion einfach, ohne sie an das LABEL-Element weiterzuleiten.[/quote]

Folgender Code funktioniert dann bei mir:
<input type="checkbox" id="chb1" value="1" />
<label for="chb1">
    <img alt="" id="DatePickerTest1_imgTime" title="Uhrzeit wählen"
            onclick="if(this.parentNode.click)this.parentNode.click();"
            src="common/images/clock.gif" />
</label>

Der Eventhandler wird von mir serverseitig dem Image hinzugefügt:
[code language="C#"]imgTime.Attributes.Add("onclick", "if(this.parentNode.click)this.parentNode.click();");[/code

Das Javsscript lößt beim Elternelement, dem Label, das Click-Ereignis aus, sobald auf das Bild angeclickt wird.

Posted: Dienstag, 20. November 2007 10:56 von Jürgen Gutsch
Abgelegt unter: ,

Kommentare

Keine Kommentare

Anonyme Kommentare sind nicht zugelassen