Ik ben bezig met een invoerformpje waarbij er clientside een aantal correcties toegepst kunnen worden op de invoerveldjes, zoals bijvoorbeeld initialen omzetten naar hoofdletters. Als ik bijv d.a. invul, moet dat dmv een onchange event naar D.A. omgezet worden.
de code die ik hiervoor heb is redelijk simpel
Dit werkt prima in IE6 en IE7, echter, in FF2 en FF3 krijg ik de melding van firebug dat this.event geen properties heeft. En dan kan er natuurlijk niet veel gedaan worden.
Omdat ik de site wel crossbrowsercompliant wil hebben in iig IE6/7 en FF2/3 ben ik op zoek naar een manier om wel de value uit te kunnen lezen en die naar een uppercase te zetten.
Nu kan ik het doen dmv een specifiek ID meegeven aan de functie als argument, maar gezien ik de functie op meerdere velden wil aanroepen zou ik het geheel liever wat generieker houden, zodat er minder makkelijk fouten in kunnen komen.
Ik ben dus naar een manier op zoek om in firefox te kijken in de functie door welk element de onchange is getriggerd, dat element op te pakken en die value aan te passen (wat ik dus in IE wel kan). Nu heb ik zitten zoeken naar de eventhandler van Firefox, maar ben nog geen oplossing tegengekomn om het op deze manier te doen (alleen via het doorsturen van een id als argument), dat kan ik alsnog doen mocht niet mogelijk blijken, maar ik houd de code liever zo generiek mogelijk.
Heeft iemand enig idee op welke manier ik het element kan aanspreken en de ingevulde value op deze manier op kan pakken. Logischerwijs zou ik zeggen dat het met 'this' of met 'self' werkt, alleen die returnen niet het element, maar de window.
de code die ik hiervoor heb is redelijk simpel
HTML:
1
2
3
4
5
6
7
| <input type="text" id="voorletters" name="voorletters" onchange="allUpperCase();"> <script> function allUpperCase(){ this.event.srcElement.value = this.event.srcElement.value.toUpperCase(); } </script> |
Dit werkt prima in IE6 en IE7, echter, in FF2 en FF3 krijg ik de melding van firebug dat this.event geen properties heeft. En dan kan er natuurlijk niet veel gedaan worden.
Omdat ik de site wel crossbrowsercompliant wil hebben in iig IE6/7 en FF2/3 ben ik op zoek naar een manier om wel de value uit te kunnen lezen en die naar een uppercase te zetten.
Nu kan ik het doen dmv een specifiek ID meegeven aan de functie als argument, maar gezien ik de functie op meerdere velden wil aanroepen zou ik het geheel liever wat generieker houden, zodat er minder makkelijk fouten in kunnen komen.
Ik ben dus naar een manier op zoek om in firefox te kijken in de functie door welk element de onchange is getriggerd, dat element op te pakken en die value aan te passen (wat ik dus in IE wel kan). Nu heb ik zitten zoeken naar de eventhandler van Firefox, maar ben nog geen oplossing tegengekomn om het op deze manier te doen (alleen via het doorsturen van een id als argument), dat kan ik alsnog doen mocht niet mogelijk blijken, maar ik houd de code liever zo generiek mogelijk.
Heeft iemand enig idee op welke manier ik het element kan aanspreken en de ingevulde value op deze manier op kan pakken. Logischerwijs zou ik zeggen dat het met 'this' of met 'self' werkt, alleen die returnen niet het element, maar de window.