Změna textového pole po najetí myši   zodpovězená otázka

ASP.NET WebForms, JavaScript

Zdravím, mám na web stránce dva labely. Chtěl bych udělat to, aby po najetí myši na jeden label, se změnil obsah druhého. Vůbec si s tím ale nevím rady, už to řešim hrozně dlouho, takže budu vděčnej za každou radu. Díky moc!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To je otázka jen a pouze javascriptu, s tím ASP.NET nemá nic společného. Ten se stará jen o generování kódu na straně serveru. Na straně klienta pro rychlejší reakci je nezbytný javascript kód. Doporučuji přečíst nějaký seriál, například: http://www.jakpsatweb.cz/javascript/

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Já pravě moc nechápu, jak propojit Javascript s ASP.Net.

Když mám hyperlink, ale nevím co mám napsat do OnMouseOver, aby se změnil obsah labelu. To tam bude nějaká proměná? Díky

<asp:HyperLink ID="Odkaz1" runat="server" Text="Odkaz" OnMouseOver=""</asp:HyperLink>

<asp:Label ID="Label1" runat="server" Text=""></asp:Label>

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A umíte to v čistém JavaScriptu ve statickém HTML kódu?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Já právě s Javascriptem nemám žádné zkušenosti. Vždy jsem zatim našel nějaké alternativní řešení, kde nebylo zapotřebí javascriptu, ale u tohoto problému to zřejmě nejde.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na tohle je javascript potřeba vždycky. V nejlepším případě máte pouze nástroj, který vám ten javascript vygeneruje, ale bez něj se to nedá udělat vůbec.

Doporučuji následující postup, je nutné to udělat kódem:

'VB.NET (do C# si to případně převeďte nějakým konvertorem)
Label1.Attributes("OnMouseOver") = "javascript: document.getElementById('" & Label2.ClientID & "').innerHTML = 'změněný text'"

Je nutné ale, abyste si nastudoval, proč tohle funguje a jak to funguje, vřele doporučuji naučit se základy javasctiptu.

Funkce document.getElementById vrátí element s daným ID (tady to ovšem není to ID z ASP.NET, ale ID z finálního HTML kódu, který se pošle do prohlížeče; toto ID získáme z vlastnosti ClientID. Pak už jen řekneme, že do tohoto elementu (innerHTML) vložíme text v apostrofech.

Vygenerovaný javascript se předá jako atribut onMouseOver do komponenty Label1.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback