harald_ Skrevet 17. november 2008 Del Skrevet 17. november 2008 (endret) Hei, jeg prøver meg på å lage en funksjon som tar i mot en streng, og skriver den ut igjen med mellomrom mellom hvert 4. tegn. Problemet mitt er at det kommer "undefined" i span-feltet jeg vil skrive ut til... Jeg (tror jeg) vet at form.inn.value er gyldig, bruker den med suksess i en annen funksjon Koden under: function formater(form) { var n = 0; var ut = ""; for( i=0; i < form.inn.value.length; i++ ) { ut += form.inn.value[i]; if( n == 3 ) { ut += " "; n = 0; } else { n++; } } } onKeyUp="java script:document.getElementById('godkjente').innerHTML = formater(this.form);" Håper dere tilgir meg om det er en åpenbar feil, jeg skrev min første linje javascript på fredag :/ Endret 17. november 2008 av harald_ Lenke til kommentar
cbastus Skrevet 17. november 2008 Del Skrevet 17. november 2008 (endret) Hvor har du satt onkeyup eventen? Følgende burde være nok: SCRIPT: function format(obj){ var orgStr = obj.value.replace(/ /g,''); var newStr = new String(); for(i=0;i<orgStr.length;i++){ if((i+2)%4 == 1) newStr += orgStr[i] + ' '; else newStr += orgStr[i]; } obj.value = newStr; } HTML: <input onkeyup="format(this)" /> Denne lar deg riktignok ikke bruke mellomrom iom. at det blir fjernet med replace. Funksjonen kjører hver gang noen legger til et tegn. Den tar ut INPUT strengen, stripper alle SPACE, så legger inn SPACE etter hver 4. tegn ved å bruke modulo til å finne ut om posisjonen er deling med 4. Endret 17. november 2008 av cbastus Lenke til kommentar
harald_ Skrevet 17. november 2008 Forfatter Del Skrevet 17. november 2008 Takk for input! Funksjonen du foreslår gjør en litt annen jobb en jeg var ute etter, men jeg brukte noe av koden din inne i en annen funksjon (som validerer tallene som skrives inn). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå