Avatar billede Slettet bruger
21. maj 2006 - 16:51 Der er 5 kommentarer og
1 løsning

Java-replacement

Hejsa

Er der ikke nogen som kan vise mig et simpelt eksempel på et Java-replacement... Jeg har noget relativt simpelt her:
<script language="Javascript">
function sendinfo(streng){
document.getElementById('info').innerHTML=streng;
}
</script>
<input type="text" name="tlf" onkeyup="sendinfo(this.value);">
<div id="info"></div>

- jeg vil så gerne have det sådan at den ikke viser eventuelle mellemrum som bliver tastet i feltet... disse skal aldrig vises i min div-tag...
Kan man ikke replace dette til ingenting...

- og lige en ekstra ting... kan man ikke også i Java-script sørge for at det kun er tal som bliver tastet i feltet?

\Dan
Avatar billede olebole Juniormester
21. maj 2006 - 17:25 #1
<ole>

F.eks. sådan:

<script type="text/JavaScript">
function sendinfo(elm) {
    var streng = elm.value;
    streng = streng.replace(/[^0-9]*/g, "");
    elm.value = streng;
    document.getElementById('info').innerHTML=streng;
}
</script>
<input type="text" name="tlf" onkeyup="sendinfo(this);">
<div id="info"></div>

/mvh
</bole>
Avatar billede olebole Juniormester
21. maj 2006 - 17:38 #2
- og denne er nok lidt bedre:

<script type="text/JavaScript">
function sendinfo(e) {
    var kC = e.charCode ? e.charCode : e.keyCode;
    if (kC!=8 && (kC<48 || kC>57)) {
        if (e.stopPropagation) e.stopPropagation();
        else e.cancelBubble = true;
        if (e.preventDefault) e.preventDefault();
        else e.returnValue = false;
    }
}
function writeStr(elm) {
    var streng = elm.value;
    document.getElementById('info').innerHTML=streng;
}
</script>
<input type="text" name="tlf" onkeypress="sendinfo(event);" onkeyup="writeStr(this)">
<div id="info"></div>
Avatar billede Slettet bruger
21. maj 2006 - 19:52 #3
Hej olebole

Mange tak for dit svar... Jeg tror jeg forstår dit første forslag sådan nogenlunde...
Jeg kommer lige med dit eksempel hvor det er tilpasset "mit system" og jeg har så tilføjet nogle kommentarer til hver linje... Gider du ikke at rette mig hvis mine kommentarer er forkerte... for hvis jeg forstår dette her script 100% kan jeg jo også bruge det til andre formål 100%...

- og ellers! Smid bare et svar...

<script type="text/JavaScript">
function sendinfo(streng){
    var vaerdi = streng.value; 'vi henter værdien på vores strengt fra input-boksen.
    vaerdi = vaerdi.replace(/[^0-9]*/g, ""); 'vi replacer alt andet end tallene "0-9" med ingenting ("").
    vaerdi.value = streng; 'vi angiver "ny værdi" på "vaerdi" som nu skal være den streng som har været igennem vores replacement.
    document.getElementById('info').innerHTML=vaerdi; 'vi skriver den nye værdi i div-taggen.
}
</script>
<input type="text" name="tlf" onkeyup="sendinfo(this);">
<div id="info"></div>

\Dan
Avatar billede olebole Juniormester
21. maj 2006 - 20:04 #4
Det er helt korrekt - og nok bedst (mindst forvirrende for brugeren), hvis der er tale om f.eks. et telefonnummer, som jo har mange 'personlige' formater  :)

Det andet script forbyder at skrive andet end tal. Dog tillades det at slette med 'Back-space':

function sendinfo(e) { // keypress-funktion
    var kC = e.charCode ? e.charCode : e.keyCode; // X-browser ASCII-kode for tegnet
    if (kC!=8 && (kC<48 || kC>57)) {  // Hvis 'tegnet' ikke er 'Back-space' eller 0-9
        if (e.stopPropagation) e.stopPropagation(); // Stop event-bubbling, hvis browseren er en Gecko
        else e.cancelBubble = true; // Hvis ikke Gecko
        if (e.preventDefault) e.preventDefault(); // Undlad at udføre standard-handlingen, hvis Gecko
        else e.returnValue = false; // Hvis ikke Gecko
    }
}

Grunden til, handler'en lægges på onkeypress-event'en (og ikke keydown), er, at Gecko (f.eks. Mozilla) ikke kan cancel'e event'en på onkeydown-event'en
Avatar billede Slettet bruger
21. maj 2006 - 20:13 #5
- Mange tak for hjælpen!!!

\Dan
Avatar billede olebole Juniormester
21. maj 2006 - 20:19 #6
- anytime. Tak for points  =)
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