21. maj 2006 - 16:51Der 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?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
<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>
Synes godt om
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>
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
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.