Avatar billede cort Nybegynder
01. marts 2001 - 20:04 Der er 14 kommentarer og
1 løsning

onchange og erstat

Hej all!

Er der nogen der kan hjælpe mig med en javascript function der kaldes med onchange, når en bruger forlader et input felt af typen text.

Functionen skal checke på om der er et komma indtastet i feltet og hvis der er, skal functionen erstatte kommaet med et punktum, når brugeren forlader feltet.

Der må der være nogen der har lavet den slags før.

På forhånd tak.
Avatar billede olebole Juniormester
01. marts 2001 - 20:10 #1
<ole>

<script language=\"JavaScript\">
function check(which) {
  if (which.value.indexOf(\",\")!=-1) {
    astr = which.substring(0,which.indexOf(\",\"))+\".\"+which.substring(which.indexOf(\",\")+1,which.length);
    which.value = astr;
  }
}
</script>

<form>
<input type=\"text\" onchange=\"check(this)\">
</form>

/mvh
</bole>
Avatar billede jakoba Nybegynder
01. marts 2001 - 20:12 #2
lyder som for at \"læse som decimaltal\"

en quick and dirty:
fetl.value = join( felt.value.split(\",\"), \".\");
Avatar billede olebole Juniormester
01. marts 2001 - 20:18 #3
Meget mere elegant...min funktion skulle iøvrigt også se sådan ud:

function check(which) {
  if (which.value.indexOf(\",\")!=-1) {
    astr = which.value.substring(0,which.value.indexOf(\",\"))+\".\"+which.value.substring(which.value.indexOf(\",\")+1,which.value.length);
    which.value = astr;
  }
}

Jeg var endnu mere \'quick \'n dirty\', jakoba!  *LoooL*
/mvh
Avatar billede jakoba Nybegynder
01. marts 2001 - 20:18 #4
den korrekte:
form_navn.felt_navn.value = form_navn.felt_navn.value.replace(/\\,/,\".\");
Avatar billede jakoba Nybegynder
01. marts 2001 - 20:20 #5
men olebole\'s nr 2 er nu også korrekt
Avatar billede cort Nybegynder
01. marts 2001 - 20:22 #6
sorry jakoba jeg fik ikke lige prøvet dit men jeg kigger på det imorgen og hvis dit også virker får du  også point, ok?
Avatar billede jakoba Nybegynder
01. marts 2001 - 21:02 #7
nej da, Næste gang kommer jeg først og så er det olebole der får en lang næse :-))
100 point er rigeligt for det spørgsmål.

mvh JakobA
Avatar billede olebole Juniormester
01. marts 2001 - 21:25 #8
Avatar billede dudal Nybegynder
01. marts 2001 - 21:54 #9
jakoba >>> Hvorfor ikke bare \".replace(\',\',\'.\');\" ??

:) Jesper
Avatar billede jakoba Nybegynder
01. marts 2001 - 22:16 #10
fordi der står i min manual at første parameter skal være en regular expression. http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm under string object

mvh JakobA
Avatar billede dudal Nybegynder
01. marts 2001 - 22:29 #11
Hmm. Det ser jeg, men det virker nu fint med \',\'. Også i NS :-) Nå pyt.

Avatar billede parazite Nybegynder
02. marts 2001 - 00:35 #12
Elefanterne i gang igen.... ;o)
Avatar billede cort Nybegynder
02. marts 2001 - 10:44 #13
Ok jakoba du er nok hurtigere næste gang. held og lykke.
Avatar billede jumper Nybegynder
02. marts 2001 - 19:24 #14
Hmm, så vågner man sent og får slet ikke svaret på noget herinde *G*. Hvis der kan bruges regular expressions, kunne det nu klares med:

function check(which){
  which.value = which.value.replace(/,/g,\".\")
}

/Thor
Avatar billede jakoba Nybegynder
02. marts 2001 - 20:51 #15
Ja det var mig der var doven, gad ikke checke efter om , var et specialtegn.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester