"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
{signature}
1
2
3
| function limitchars(obj) { return obj.replace(/[^-a-z0-9_]/ig,'').toLowerCase(); } |
En dan zo aanroepen:
1
| <input type="text" value="" onkeyup="this.value = limitchars(this.value);"> |
en die prompt gaat dan zo:
1
| newname = limitchars(prompt('Enter the new name for: ' + fname, fname)); |
edit: wat de user boven mij dus zegt
[ Voor 10% gewijzigd door user109731 op 25-10-2006 22:30 ]
Ik wil dat de input realtime gecontroleerd wordt, net als bij elke andere input (via onkeyup). Achteraf de input controleren kan ik ook, maar hoe doe ik het terwijl de gebruiker typt?Voutloos schreef op woensdag 25 oktober 2006 @ 22:25:
Doe gewoon die 2 bewerkingen die je in limitchars() doet in de rename functie op variabele newname [...]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
[ Voor 64% gewijzigd door Janoz op 25-10-2006 22:36 ]
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Verwijderd
Kortom, maak je eigen implementatie, eventueel met een modal dialog.Janoz schreef op woensdag 25 oktober 2006 @ 22:35:
Kan niet met een prompt. Bedenk daarnaast trouwens dat een prompt in IE7 niet meer ondersteund schijnt te worden.
Die worden toch niet door FF ondersteund?Verwijderd schreef op woensdag 25 oktober 2006 @ 22:38:
[...]eventueel met een modal dialog.
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
Verwijderd
Nee, maar wat maakt dat uit? Als je even detecteert of de client het ondersteunt, kun je er gebruik van maken. Dat betekent nog niet dat je applicatie er ook van afhankelijk moet worden.
Dat vind ik een goed idee! Ik probeer nu mbv. javascript een div te toveren en dat gaat goed. De div werd alleen onderaan de pagina erbij gezet, terwijl ik hem 'bovenop' de pagina wil hebben. Ik herinner mij dat dit met 'z-index' kon, maar als ik dat toevoeg, krijg ik een foutmelding: "rename not defined"?Grote prutser schreef op woensdag 25 oktober 2006 @ 22:45:
[...] Misschien het mooiste om je pagina te faden achter een div, en daar dan een div met je inputbox overheen? Dat vind ik zelf altijd erg netjes, en handiger dan een window
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| function rename(id, fname) { var div = document.createElement('div'); div.setAttribute('id','rename'); div.style.left = 300; div.style.top = 300; div.style.z-index = 100; div.style.position = "absolute"; div.style.background = "#000"; var input = document.createElement('input'); input.setAttribute('type', 'text'); div.appendChild(input); document.body.appendChild(div); } |
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
Je kunt trouwens ook direct div.id en input.type gebruiken, is wat korter dan setAttribute
Zijn er trouwens voor voor- of nadelen aan het gebruik van een div boven een window.open?
[ Voor 27% gewijzigd door Reveller op 25-10-2006 23:46 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."