Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[Javascript] getElementsByTagName alternatief voor type=text

Gooly
3 antwoorden
  • Helaas is javascript niet mijn sterkste kant, maar er wordt hard aan gewerkt.
    Wat ik probeer te doen is op mijn website standaard _alle_ <textarea>'s en <input type='text'>'s (oftewel alles waar tekst ingevoerd kan worden) te voorzien van een/dezelfde onfocus en onblur stijl (achtergrondkleur, textkleur, borderkleur)

    Nu is me dat tot op zekere hoogte nog gelukt ook. Ik heb er voor gekozen om mbv Javascript alleen de classname te wijzigen bij een onfocus of onblur event zodat ik de stijlen zelf binnen de stylesheet kan regelen.
    Voor de volledigheid, dit is wat ik heb en wat werkt:
    [code:1:ef772db0b6]
    onfocus="this.className = 'focusedElement';" onblur="this.className = 'blurredElement';
    [/code:1:ef772db0b6]
    (En vervolgens defineer ik de stijlen focusedElement en blurredElement in mijn stylesheet)
    Nadeel is dat ik deze regel aan elk element moet toevoegen. En dat wil ik niet. Zoals gezegd wil ik het dus van toepassing laten zijn op alles waar tekst ingevoerd kan worden. Bovendien vind ik het netter om javascript zoveel mogelijk buiten mijn html document te houden. Ik wil dit dus graag in een extern javascript doen.

    Nu kan ik volgens mij mbv getElementsByTagName alle <textarea>'s bereiken vanuit mijn externe script, maar hoe maak ik het ook van toepassing op <input type='text'>? type='text' is geen tagname en zal dus niet gevonden worden door getElementsByTagName lijkt me.
  • Je kan wel eerst met ElementsByTagName alle inputs ophalen en daarna in een loopje controleren of ze voldoen [type] == 'text' en pas dan de onfocus en onblur events aanpassen.
  • zoals marientje al aangeeft, zo doe ik dat ook altijd.

    En vervolgens gooi ik die code in een on document load event en klaar ben je :)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.