Ik ben nu al onwijze tijd aan het pielen en het zoeken, maar ik krijg het onderstaande maar niet werkend in mozilla:
wat het script doet is bijhouden wat je invoert in een input veld. als het aantal tekens daarin gelijk is aan het maximum springt ie door naar het volgende invoerveld en als je iets anders dan een getal invult dan haalt ie dat weer weg.
de shift en tab heb ik in die else een uitzondering voor moeten maken anders haalde die telkens tekens uit invoervelden weg als je met tab of shift tab door de velden ging.
een invoerveld ziet er zo uit:
Maar dit wil dus niet in mozilla werken want die kent die event.keyCode niet. Heb ook al window.event.keyCode geprobeerd en evt.which, maar helaas. Hier in de search kon ik het niet vinden en als ik met google ga zoeken vind ik alleen sites die IE en NN vergelijken (waar ik het eerste stukje code mee gevonden heb), of anders alleen de opmerking dat ze het nog niet werkend hebben gekregen in Mozilla. Maar nergens een oplossing.
JavaScript:
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
39
40
41
42
43
44
45
46
| function MonitorFields(id, MaxLength) { if(document.all) { //it's IE var toets = event.keyCode; } else if(document.layers) { //it's netscape var toets = evt.which; } // alert(toets); // we only parse the keystroke if it's a number (0-9) if ((toets >= 48 && toets <= 57) || (toets >= 96 && toets <= 105)) { if (id < 6) var next_id = (parseInt(id) + 1); else if (id == 6) var next_id = 1; var waarde = document.getElementById(id).value; if (waarde.length == MaxLength) { document.getElementById(next_id).focus(); } else if (waarde.length > MaxLength) { alert('Invalid Value!\nValue can\'t be longer then '+MaxLength+' characters'); document.getElementById(id).value = waarde.substring(0, MaxLength); document.getElementById(id).focus(); } } else { if (toets != 6 && toets != 9 && toets != 16) { // 6 en 9 zijn de SHIFT- en TABtoest, 16 de combinatie van beide var waarde = document.getElementById(id).value; var lengte = waarde.length; var subLengte = (lengte - 1); document.getElementById(id).value = waarde.substring(0, subLengte); } } } |
wat het script doet is bijhouden wat je invoert in een input veld. als het aantal tekens daarin gelijk is aan het maximum springt ie door naar het volgende invoerveld en als je iets anders dan een getal invult dan haalt ie dat weer weg.
de shift en tab heb ik in die else een uitzondering voor moeten maken anders haalde die telkens tekens uit invoervelden weg als je met tab of shift tab door de velden ging.
een invoerveld ziet er zo uit:
HTML:
1
| <input type="text" id="1" name="dag" size="2" onKeyUp="MonitorFields(this.id, 2);" onFocus="this.select();"> |
Maar dit wil dus niet in mozilla werken want die kent die event.keyCode niet. Heb ook al window.event.keyCode geprobeerd en evt.which, maar helaas. Hier in de search kon ik het niet vinden en als ik met google ga zoeken vind ik alleen sites die IE en NN vergelijken (waar ik het eerste stukje code mee gevonden heb), of anders alleen de opmerking dat ze het nog niet werkend hebben gekregen in Mozilla. Maar nergens een oplossing.
edit:
sorry: kan een mod ff de topictitel aanpassen. ben er vergeten bij te zetten dat het om javascript gaat
sorry: kan een mod ff de topictitel aanpassen. ben er vergeten bij te zetten dat het om javascript gaat
[ Voor 7% gewijzigd door marty op 10-08-2003 20:37 ]