|
| "Kun tal" Fra : Henrik |
Dato : 12-04-07 15:40 |
|
Hej...
Hvordan gør man sådan at der kun kan være tal i en textbox?
| |
Christian Hansen (13-04-2007)
| Kommentar Fra : Christian Hansen |
Dato : 13-04-07 13:27 |
|
Henrik wrote:
> Hej...
> Hvordan gør man sådan at der kun kan være tal i en textbox?
>
En hurtig måde:
<input type="text" onKeyUp="this.value = this.value.replace(/[^0-9]/g,'');">
Mvh Christian
| |
Martin (13-04-2007)
| Kommentar Fra : Martin |
Dato : 13-04-07 13:35 |
|
Christian Hansen wrote:
> Henrik wrote:
>> Hej...
>> Hvordan gør man sådan at der kun kan være tal i en textbox?
>>
>
> En hurtig måde:
>
>
> <input type="text" onKeyUp="this.value =
> this.value.replace(/[^0-9]/g,'');">
Eller måske
onkeyup="if(this.value.search(/[^0-9]/g))alert('Kun tal!');"
>
> Mvh Christian
| |
Henrik Stidsen (13-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 13-04-07 13:55 |
|
Martin expressed precisely :
>> <input type="text" onKeyUp="this.value =
>> this.value.replace(/[^0-9]/g,'');">
> Eller måske
> onkeyup="if(this.value.search(/[^0-9]/g))alert('Kun tal!');"
Den vil godt nok være trist at have med at gøre - meget effektiv men
ikke særlig brugervenlig egentlig...
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
"Advertising is the art of convincing people to spend money they don't
have for something they don't need." - Will Rogers
| |
Martin (13-04-2007)
| Kommentar Fra : Martin |
Dato : 13-04-07 14:24 |
|
Henrik Stidsen wrote:
> Martin expressed precisely :
>>> <input type="text" onKeyUp="this.value =
>>> this.value.replace(/[^0-9]/g,'');">
>
>> Eller måske
>> onkeyup="if(this.value.search(/[^0-9]/g))alert('Kun tal!');"
>
> Den vil godt nok være trist at have med at gøre - meget effektiv men
> ikke særlig brugervenlig egentlig...
Nej da... intet er brugervenligt når man skal lave sådan noget :)
| |
Henrik Stidsen (13-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 13-04-07 16:24 |
|
Martin submitted this idea :
>>>> <input type="text" onKeyUp="this.value =
>>>> this.value.replace(/[^0-9]/g,'');">
>>> Eller måske
>>> onkeyup="if(this.value.search(/[^0-9]/g))alert('Kun tal!');"
>> Den vil godt nok være trist at have med at gøre - meget effektiv men ikke
>> særlig brugervenlig egentlig...
> Nej da... intet er brugervenligt når man skal lave sådan noget :)
Tjow, vil da mene det er mere brugervenligt at blokere for indtastning
af forkerte data i forhold til at brugeren skal lave en ommer.
Men, fejlene i forhold til brugervenlighed er med den løsning der at 1)
der kommer en popupalert der skal lukkes ned og 2) brugeren skal selv
slette de fejlagtige data.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
The illegal we do immediately. The unconstitutional takes a little
longer. - Henry Kissinger
| |
Martin (14-04-2007)
| Kommentar Fra : Martin |
Dato : 14-04-07 12:44 |
|
Henrik Stidsen wrote:
> Martin submitted this idea :
>>>>> <input type="text" onKeyUp="this.value =
>>>>> this.value.replace(/[^0-9]/g,'');">
>
>>>> Eller måske
>>>> onkeyup="if(this.value.search(/[^0-9]/g))alert('Kun tal!');"
>
>>> Den vil godt nok være trist at have med at gøre - meget effektiv men
>>> ikke særlig brugervenlig egentlig...
>
>> Nej da... intet er brugervenligt når man skal lave sådan noget :)
>
> Tjow, vil da mene det er mere brugervenligt at blokere for indtastning
> af forkerte data i forhold til at brugeren skal lave en ommer.
Det er så rigtigt, men engang imellem så tænker jeg bare at folk selv
godt kan tænke.
Hvis man nu skriver Årstal: <input...> også først laver tjekket efter
der er blevet submittet med både javascript tjek og serverside script.
> Men, fejlene i forhold til brugervenlighed er med den løsning der at 1)
> der kommer en popupalert der skal lukkes ned og 2) brugeren skal selv
> slette de fejlagtige data.
Hehe.. nu var min løsning nu også bare noget hurtigt oneline dims, sådan
bare for sjovt, men en sammenblanding af begge, ville måske være på den
rette plads imo.
| |
Henrik Stidsen (13-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 13-04-07 14:00 |
|
Christian Hansen expressed precisely :
>> Hej...
>> Hvordan gør man sådan at der kun kan være tal i en textbox?
> En hurtig måde:
> <input type="text" onKeyUp="this.value = this.value.replace(/[^0-9]/g,'');">
Med den metode vil teksten blive skrevet og så fjernet. Det er
selvfølgelig ikke det store problem men det kan godt virke forvirrende.
Et alternativ er at lave en event på onkeydown, udpege de keycodes der
er ok og så returnere false ved alle andre. Så kan der slet ikke
skrives i boksen med mindre man skriver et tal. Man skal så huske at
returnere true ved piletaster, slet osv.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
"This is not some cheasy soap-opera." - Mike Flaherty, Spin City
| |
Henrik (13-04-2007)
| Kommentar Fra : Henrik |
Dato : 13-04-07 14:12 |
|
Der er ingen af delene der dur... den sætter streg under "Type" i Christians
udgave og "onkeyup" i Martins udgave.
Og Henrik Stidsen, har du en kode der bedere end deres?
| |
Martin (13-04-2007)
| Kommentar Fra : Martin |
Dato : 13-04-07 14:33 |
|
Henrik wrote:
> Der er ingen af delene der dur... den sætter streg under "Type" i Christians
> udgave og "onkeyup" i Martins udgave.
Christians virker helt perfekt...
Det må være dit site hvor du sætter den ind der er fejl i.
Min den skal lige omskrives til
<script type="text/javascript">
function check(str) {
if(str.search(/^[0-9]/g)) {
alert('Kun tal!');
return false;
}
}
</script>
<input type='text' name='text' id='text'
onkeyup="check(getElementById('text').value);"/>
| |
Henrik Stidsen (13-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 13-04-07 16:29 |
|
Henrik has brought this to us :
> Der er ingen af delene der dur... den sætter streg under "Type" i Christians
> udgave og "onkeyup" i Martins udgave.
Det lyder mærkeligt... hvilken fejl siger den der er ?
> Og Henrik Stidsen, har du en kode der bedere end deres?
Ikke lige ved hånden men det er ikke så svært at lave. Det er sådan set
bare at kigge på keycode (det hedder den vist i alle browsere) på event
objektet og så lave if sætninger for at afgøre om der skal returneres
true eller false. Ved false tillades indtastningen ikke.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
"The precogs are never wrong. But sometimes they... disagree. "
- Dr. Iris Henimen, The Minority Report
| |
Christian Hansen (13-04-2007)
| Kommentar Fra : Christian Hansen |
Dato : 13-04-07 17:18 |
|
Henrik Stidsen wrote:
> Med den metode vil teksten blive skrevet og så fjernet. Det er
> selvfølgelig ikke det store problem men det kan godt virke forvirrende.
Jep - det var også bare hurtigt og beskidt :)
> Et alternativ er at lave en event på onkeydown, udpege de keycodes der
> er ok og så returnere false ved alle andre. Så kan der slet ikke skrives
> i boksen med mindre man skriver et tal. Man skal så huske at returnere
> true ved piletaster, slet osv.
Jep, jeg gad bare ikke lede efter keycodes for div, men nu har jeg så
gjrot det alligevel :)
<script type="text/javascript">
function numbersOnly(keycode) {
var keycodes = new Array(8,37,39,48,49,50,51,52,53,54,55,56,57);
for(var c = 0; c < keycodes.length; c++) if
(parseInt(keycodes[c]) == parseInt(keycode)) return true;
return false;
}//numbersOnly
</script>
<input type="text" onKeyDown="return numbersOnly(event.keyCode);"
onKeyUp="this.value = this.value.replace(/[^0-9]/g,'');">
Jeg har bibeholdt onKeyUp, da jeg på min computer kan overbelaste input
ved at taste samtidigt på flere bogstaver. Derved blev de alligevel
skrevet i feltet.
Mvh Christian
| |
Henrik Stidsen (13-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 13-04-07 17:25 |
|
Christian Hansen brought next idea :
>> Med den metode vil teksten blive skrevet og så fjernet. Det er selvfølgelig
>> ikke det store problem men det kan godt virke forvirrende.
> Jep - det var også bare hurtigt og beskidt :)
Det er jo også rigeligt nogen gange,kommer an på formålet ;)
>> Et alternativ er at lave en event på onkeydown, udpege de keycodes der er
>> ok og så returnere false ved alle andre. Så kan der slet ikke skrives i
>> boksen med mindre man skriver et tal. Man skal så huske at returnere true
>> ved piletaster, slet osv.
> Jep, jeg gad bare ikke lede efter keycodes for div, men nu har jeg så gjrot
> det alligevel :)
Nej det er sådan noget man gør en gang og så gemmer man værdierne :)
> Jeg har bibeholdt onKeyUp, da jeg på min computer kan overbelaste input ved
> at taste samtidigt på flere bogstaver. Derved blev de alligevel skrevet i
> feltet.
Okay, det har jeg ikke oplevet - har til gengæld oplevet en onchange på
en selectbox der fik browseren til at gå ned hvis man scrollede med
scrollhjulet...
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
Moo point: It´s like a cow´s opinion. It just doesn´t matter. It´s
"moo".
- Joey Tribianni, "The One Where Chandler Doesn´t Like Dogs".
| |
Martin (14-04-2007)
| Kommentar Fra : Martin |
Dato : 14-04-07 12:46 |
|
Henrik Stidsen wrote:
> Okay, det har jeg ikke oplevet - har til gengæld oplevet en onchange på
> en selectbox der fik browseren til at gå ned hvis man scrollede med
> scrollhjulet...
Det har jeg også, flere gange faktisk meget sjovt :)
Når jeg laver en onchange på en selectbox, så gør jeg det udelukkende
med noget ajax calls - der er heldigvis den "fordel" at ajax kun kan
køre 1 kommando adgangen. Eller rettere kommandoerne bliver gemt i
rammen, men ikke udført før der er plads til næste kommando.
| |
Henrik Stidsen (16-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 16-04-07 10:56 |
|
On 14 Apr., 13:43, Martin <n...@natten-i.dk> wrote:
> > Tjow, vil da mene det er mere brugervenligt at blokere for indtastning
> > af forkerte data i forhold til at brugeren skal lave en ommer.
> Det er så rigtigt, men engang imellem så tænker jeg bare at folk selv
> godt kan tænke.
Puha, det er en dødssynd at tænke sådan når man udvikler software der
skal bruges af rigtige mennesker ;) Specielt hvis man tror de tænker
på samme måde som man selv gør - for det ved vi, det gør de aldrig ;)
Hvis folk selv ku tænke så var der jo ikke behov for fejlhåndtering,
validering osv overhovedet.
Men hvor ville det være dejligt hvis folk tænkte sig lidt om før de
bevidstløst trykker på alt hvad der kan trykkes på og mere til.
| |
Martin (16-04-2007)
| Kommentar Fra : Martin |
Dato : 16-04-07 12:01 |
|
Henrik Stidsen wrote:
> Hvis folk selv ku tænke så var der jo ikke behov for fejlhåndtering,
> validering osv overhovedet.
>
> Men hvor ville det være dejligt hvis folk tænkte sig lidt om før de
> bevidstløst trykker på alt hvad der kan trykkes på og mere til.
Selvfølgelig skal der jo være validering, så slipper man også får en
smule spam :)
Men jeg mener bare at valideringen først skal ske til sidst, altså når
der er trykket "submit"
| |
Henrik Stidsen (16-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 16-04-07 12:24 |
|
On 16 Apr., 13:00, Martin <m...@SPAMscandesigns.dk> wrote:
> > Men hvor ville det være dejligt hvis folk tænkte sig lidt om før de
> > bevidstløst trykker på alt hvad der kan trykkes på og mere til.
> Selvfølgelig skal der jo være validering, så slipper man også får en
> smule spam :)
I hvert fald hvis det er en mailformular ;)
> Men jeg mener bare at valideringen først skal ske til sidst, altså når
> der er trykket "submit"
Det er jeg ikke enig i. Man kan IMHO ligeså godt gøre opmærksom på
fejlen så hurtigt som muligt.
| |
|
|