Hoi iedereen, ik ben bezig om een functie te maken die ervoor zorgt dat een <textarea> wordt ingevuld zoals ik het het wil.
Ik heb hiervoor volgende code geschreven:
Mijn code controleert een aantal zaken:
1. De maximale lengte per ingegeven regel wordt gecontroleerd = OK
2. De maximale totaalinput wordt gecontroleerd = OK
3. De maximale input kan omzeild worden door copy/paste:
-rechtsklik met muis om te pasten gedisabled = OK
-ctrl+v disablen om te pasten = OK in IE, niet in FireFox.
Bij het allerlaatste puntje zit dus mijn probleem, nu heb ik hier al heel wat zitten prullen met het resultaat dat het altijd ergens fout gaat of mijn code veel te omslachtig wordt, hebben jullie geen idee hoe ik het kan oplossen?
Het lijkt erop dat Firefox geen rekening kan houden dat er twee toetsen tegelijk zijn ingedrukt terwijl IE hier geen moeite mee heeft.
Ik heb hiervoor volgende code geschreven:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| <html> <head> <script type="text/javascript"> function textCounter(event){ var field = document.reactieform.reactie var counter = document.getElementById('aantalkarakters'); var info = document.getElementById('info'); var maxlimit = 460; var code = (document.all) ? event.keyCode:event.which; var ctrl = (document.all) ? event.ctrlKey:event.modifiers & Event.CONTROL_MASK; if (ctrl && code==86) //CTRL+V { info.innerHTML = "hier"; window.event.returnValue = false; } if(field.value.length >= maxlimit){ field.value = field.value.substring(0, maxlimit); counter.innerHTML = 0; }else{ if ((field.value.length) % 115 == 0){ if(field.value.length > 1){ field.value = field.value + "\n"; } } counter.innerHTML = maxlimit - field.value.length; } } </script> </head> <body oncontextmenu="return false;"> <form name="reactieform" method="post"><table class="nieuws"> <textarea name="reactie" onkeydown="textCounter(event)" onkeyup="textCounter(event)" onblur="textCounter(event)" cols="115" rows="3" class="textfield_large"></textarea><br> <span id="aantalkarakters">460</span> tekens resterend<br> <span id="info"></span> </form> </body> </html> |
Mijn code controleert een aantal zaken:
1. De maximale lengte per ingegeven regel wordt gecontroleerd = OK
2. De maximale totaalinput wordt gecontroleerd = OK
3. De maximale input kan omzeild worden door copy/paste:
-rechtsklik met muis om te pasten gedisabled = OK
-ctrl+v disablen om te pasten = OK in IE, niet in FireFox.
Bij het allerlaatste puntje zit dus mijn probleem, nu heb ik hier al heel wat zitten prullen met het resultaat dat het altijd ergens fout gaat of mijn code veel te omslachtig wordt, hebben jullie geen idee hoe ik het kan oplossen?
Het lijkt erop dat Firefox geen rekening kan houden dat er twee toetsen tegelijk zijn ingedrukt terwijl IE hier geen moeite mee heeft.
[ Voor 20% gewijzigd door BtM909 op 23-10-2008 14:03 ]