Hoi,
ik ben bezig een intranetapplicatie uit te breiden. Er zijn al vele pagina's code geschreven voor deze pagina. Qua verbetering heb ik een scriptje geschreven dat aan alle input velden een onKeyUp event attached dat controleert of het ingedrukte karakter wel een legaal karakter is (alphanumeriek). Echter, op sommige elementen staat al een onkeyup gedefinieerd via de attributen van het element.
Mijn probleem is dat deze reeds gedefinieerde onkeyup altijd EERST wordt uitgevoerd, en daarna pas mijn geattachte event. Heeft iemand enig idee hoe ik deze volgorde kan veranderen? Het attribuut onkeyup gaat dus voor het geattachte event...
Via de js-file doe ik dit voor alle elementen:
op de pagina staat bijvoorbeeld zo'n element:
Ik heb geprobeerd in de code het volgende te doen, om dit op te lossen, maar dan geeft hij het verkeerde "this" element mee met GoNextFieldIfLengthIs.
hij voert dan wel de functie GoNextFieldIfLengthIs uit, maar het this object is blijkbaar een ander object... want this.value kent hij in de functie GoNextFieldIfLengthIs niet... terwijl deze functie prima werkt als ik hem op zichzelf laat werken....
heeft iemand enig idee of dit op te lossen is, of kan ik beter een smerige workaround gaan zoeken?
ik ben bezig een intranetapplicatie uit te breiden. Er zijn al vele pagina's code geschreven voor deze pagina. Qua verbetering heb ik een scriptje geschreven dat aan alle input velden een onKeyUp event attached dat controleert of het ingedrukte karakter wel een legaal karakter is (alphanumeriek). Echter, op sommige elementen staat al een onkeyup gedefinieerd via de attributen van het element.
Mijn probleem is dat deze reeds gedefinieerde onkeyup altijd EERST wordt uitgevoerd, en daarna pas mijn geattachte event. Heeft iemand enig idee hoe ik deze volgorde kan veranderen? Het attribuut onkeyup gaat dus voor het geattachte event...
Via de js-file doe ik dit voor alle elementen:
JavaScript:
1
2
3
| loop objecten { obj.attachEvent('onkeyup', AllowCharset); } |
op de pagina staat bijvoorbeeld zo'n element:
HTML:
1
| <input type="text" onKeyUp="GoNextFieldIfLengthIs(this, 4);"> |
Ik heb geprobeerd in de code het volgende te doen, om dit op te lossen, maar dan geeft hij het verkeerde "this" element mee met GoNextFieldIfLengthIs.
JavaScript:
1
2
3
4
5
6
| loop objecten { var temp = obj.onkeyup; obj.onkeyup = null; obj.attachEvent('onkeyup', AllowCharset); eval("obj.attachEvent('onkeyup', " + temp + ");"; } |
hij voert dan wel de functie GoNextFieldIfLengthIs uit, maar het this object is blijkbaar een ander object... want this.value kent hij in de functie GoNextFieldIfLengthIs niet... terwijl deze functie prima werkt als ik hem op zichzelf laat werken....
heeft iemand enig idee of dit op te lossen is, of kan ik beter een smerige workaround gaan zoeken?