Avatar billede ahv Nybegynder
06. juli 2005 - 17:42 Der er 11 kommentarer og
1 løsning

Lav password til stjerner

Hej eksperter,

Jeg sidder med en underlig ide om at lave en fancy webblog/tagwall. En del af denne underlige ide behøver jeg jeres hjælp til.

1. Lad os antage at jeg har et ganske normalt input felt eller textarea.
2. I input feltet eller textarea'et kan der indtastet en vikårlig tekst.

Jeg ønsker nu at indføre nogle specielle kommandoer, som kun skal kunne udføres af mig og evt andre der kender det rette kodeord. Det ville være nemt bare at lave en admin side, men det er så trivielt, så det har jeg ikke lyst til.

3. Når der i det givne input felt eller textarea indtastes "PASS:" skal de efterfølgende tegn laves om til ****** inden de vises på skærmen, således at andre der ser på skærmen ud over brugeren ikke kan se passwordet. Når der laves et mellemrum skal stjerne igen forsvinde - Jeg vil selvfølgelig lave et password uden mellemrum til denne opgave :).

Teksten kunne være;

Hej jeg er lige på exp.dk PASS:herskalderværestjerne /change_color(336699) Ha en god dag!

Den efterfølgende kommando skal jeg nok selv sørge for bliver udført og fjernet fra det visuelle brugerne ser.
Jeg ser gerne at PASS: kan stå et vilkårligt sted i teksten bare for sjov skyld.

Kan der på denne måde laves en funktion i javascript der replacer tegn til * når der har stået PASS: og efterfølgende hopper til bare til normalt efter et mellemrum?

Spørgsmål er velkommene.

Venligst,
Alexander Holm Viborg
Avatar billede barklund Nybegynder
06. juli 2005 - 17:49 #1
Det var da en tåbelig ide - efter min mening. Det ville være meget mere logisk at lave et ekstra tekstfelt nedenunder, hvor man kunne indtaste et eventuelt admin-kodeord. Hvis dette var udfyldt kunne man bruge specielle kommandoer i inputfeltet - ellers ville de blive ignoreret.

Det andet virker som noget rod efter min mening

--
Morten Barklund
Avatar billede roenving Novice
06. juli 2005 - 17:49 #2
Hvorfor ikke bare lave et input type=password-felt til at indtaste passwordet i ?-)

-- og jo, man kan godt, men det er et problem, at værdien i feltet så skal ændres, dvs. at man så skal lave en masse med at hente værdien først, lægge den over i et skjult felt, og så udføre en replace ...
Avatar billede ahv Nybegynder
06. juli 2005 - 17:59 #3
barklund > Tja, det var nu også mere bare for at lave et eller andet :) Keder mig. Det kunne være der var nogen som ville tage det op som en udfordring.

roenving > Jep, den skal selvfølgelig gemme den værdi man indtaster som password, så den efterfølgende ikke blot tror man har tastet ***** som password :)

Håber stadig der er nogen som vil tage udfordringen op.
Avatar billede barklund Nybegynder
06. juli 2005 - 18:21 #4
Men det er jo en tåbelig ide? Den er hverken brugervenlig, gennemskuelig eller let at implementere - jeg kan virkelig ikke se argumentet for at lave det. :/
Avatar billede ahv Nybegynder
06. juli 2005 - 18:34 #5
barklund > Jeg skal hverken lave noget der er brugervenligt, gennemskueligt eller let implenterbart.

Mit spørgsmål er om det kan lade sig gøre og i såfald hvordan?
Avatar billede roenving Novice
06. juli 2005 - 19:37 #6
Det er en rigtig bræk-halsen ting at prøve at lave, men som sagt kan det lade sig gøre:

<script type="text/javascript">
function showStarsAndMirror(elm){
  var elm2 = elm.form.minInput2;
  if(elm.value.length > elm2.value.length){
    var txt = elm.value.split("PASS:");
    if(txt.length == 1)
      elm2.value = elm.value;
    else{
      var test2 = elm2.value.split("PASS:");
      var pass2 = test2.length>1&&test2[1].length>0?test2[1].split(" ")[0]:"";
      txt[1] = txt[1].split(" ");
      var pass = txt[1][0];
      pass2 += pass.replace(/\*/g,"");
      elm2.value = txt[0] + "PASS:" + pass2 + (txt[1].length>1?" " + txt[1][1]:"");
      pass = pass.replace(/./g, "*");
      elm.value = txt[0] + "PASS:" + pass + (txt[1].length>1?" " + txt[1][1]:"");
    }
  }else
    elm2.value = elm2.value.substring(0,elm.value.length);
}
</script>

<form>
<input name="minInput" type="text" value="" onkeyup="showStarsAndMirror(this);" size="50">
<br><input name="minInput2" type="text" value="" size="50">
</form>
Avatar billede ahv Nybegynder
06. juli 2005 - 20:01 #7
roenving > Det ser rigtig fint ud :) Det kan ikke lade sig gære at tricke den, således at der ikke er det "delay", før det man taster bliver til en stjerne?
Avatar billede roenving Novice
06. juli 2005 - 20:12 #8
Jeg tror ikke på, at man kan lave det, så det også virker nogenlunde globalt, men man skal jo aldrig sige aldrig, for nu aftaster jeg onkeyup, hvis man henter tasteværdien onkeydown eller onkeypress kunne det sikkert gøres uden eller med mindre delay ...

-- men så kommer de der kæmpe-forskelle, der er i de forskellige browseres event-modeller, ind på tværs og lægger en hel stribe nye problemer (dog var den type problemer også en del af den løsning, jeg viser på min egen side som input-masken !-)
Avatar billede ahv Nybegynder
06. juli 2005 - 20:25 #9
Du skal have tak for hjælpen roenving.
Avatar billede ahv Nybegynder
06. juli 2005 - 20:25 #10
Gider du smide et svar?
Avatar billede roenving Novice
06. juli 2005 - 20:30 #11
Velbekomme '-)
Avatar billede roenving Novice
07. juli 2005 - 00:57 #12
-- og tak for point ;~}
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