Avatar billede lund_dk Praktikant
13. februar 2008 - 22:06 Der er 9 kommentarer og
2 løsninger

Tjek input indhold

Jeg har 2 input felter, hvor min bruger skal skrive et ID nummer og en pinkode.

IDnummer på 6 tal, og pinkode på 4 tal.

Når brugeren begynder at skrive, skal et rødt kryds vises ved siden af input feltet, når indholdet ikke er korrekt. Når de 6 tal er skrevet, skal et grønt flueben i stedet vises (begge 2 gif billeder)

Samme med pinkode, når brugeren begynder at skrive tal, skal der vises et rødt kryds, og når alle 4 tal er skrevet, så det grønne så vises.

Bemærk det røde kryds skal IKKE vises fra start af.

Når begge felter er skrevet korrekt, skal min submit knap vises, inden da skal den bare være disabled.

Nogen der kan hjælpe med det :)

<input type="text" name="cardid"/>
<input type="password" name="pincode"/>
Avatar billede lund_dk Praktikant
13. februar 2008 - 22:11 #1
En lille rettelse..

billedet det røde kryds eller den grønne checkbox skal vises som baggrundbillede i de 2 input felter i stedet ;)
Avatar billede w13 Novice
13. februar 2008 - 23:21 #2
Følgende burde gøre tricket:
----------------------------------------------------
<script type="text/javascript" language="javascript">
function Validate(o){
  var oCardid=document.getElementById("cardid").value;
  var oPincode=document.getElementById("pincode").value;
  var oSubmit=document.getElementById("submit");
  if((o.getAttribute("name")=="cardid"&&o.value.lenght==6)||(o.getAttribute("name")=="pincode"&&o.value.lenght==4))o.style.backgroundImage="url(correct.gif)";
  else o.style.backgroundImage="url(wrong.gif)";
  o.style.backgroundRepeat="no-repeat";

  if(oCardid.length==6&&oPincode.length==4)oSubmit.disabled=false;
  else oSubmit.disabled=true;
}
function OnlyNumbers(e){var charCode=e.which?e.which:event.keyCode;if(charCode>31&&(charCode<48||charCode>57))return false;return true}
</script>

<input type="text" id="cardid" name="cardid" style="background-repeat:no-repeat" onkeypress="Validate(this);return OnlyNumbers(event)"><"><br>
<input type="password" id="pincode" name="pincode" style="background-repeat:no-repeat" onkeypress="Validate(this);return OnlyNumbers(event)"><br>
<input type="submit" value="Godkend" disabled="disabled">
Avatar billede lund_dk Praktikant
14. februar 2008 - 00:13 #3
Det virker delvist..

Når jeg skriver tal ind, vises wrong.gif
men når jeg når 6 tal i kortid vises ikke correct.gif, samme med pinkoden, og submit formen sættes ikke som disabled=true
Avatar billede w13 Novice
14. februar 2008 - 08:08 #4
Dette er testet:

<script type="text/javascript" language="javascript">
var obj=null;
function Validate(o){
  var oSubmit=document.getElementById("submitbtn");
  if((o.getAttribute("name")=="cardid"&&o.value.length==6)||(o.getAttribute("name")=="pincode"&&o.value.length==4))o.style.backgroundImage="url(correct.jpg)";else o.style.backgroundImage="url(wrong.jpg)";

  if(document.getElementById("cardid").value.length==6&&document.getElementById("pincode").value.length==4)oSubmit.removeAttribute("disabled");
  else oSubmit.setAttribute("disabled",true);
}
function OnlyNumbers(e,o){
    var charCode=e.which?e.which:event.keyCode;
    obj=o;window.setTimeout("Validate(obj)",250);
    if(charCode>31&&(charCode<48||charCode>57))
    return false;
    return true
}
</script>

<input type="text" id="cardid" name="cardid" style="background-repeat:no-repeat" onkeydown="return OnlyNumbers(event,this)" onkeypress="return OnlyNumbers(event,this)"><br>
<input type="password" id="pincode" name="pincode" style="background-repeat:no-repeat" onkeydown="return OnlyNumbers(event,this)" onkeypress="return OnlyNumbers(event,this)"><br>
<input type="submit" id="submitbtn" value="Godkend" disabled="disabled">
Avatar billede lund_dk Praktikant
18. februar 2008 - 22:24 #5
10-4 - Det var perfekt :D
Avatar billede w13 Novice
18. februar 2008 - 22:27 #6
:)
Avatar billede lund_dk Praktikant
18. februar 2008 - 22:28 #7
En bitte rettelse, hvis du er frisk..


I stedet for en submit button ville jeg egentlig hellere gerne have en div

<div id="submitbtn">Login</div>
Som skal være skjult i stedet for disabled på en submit knap, og vises når alt er ok.
Kan du klare dette, så gir jeg en bajer :D
Avatar billede lund_dk Praktikant
18. februar 2008 - 22:31 #8
Får forresten også en lille script fejl, selvom det virker som det skal.

den lyder

event is not defined
var charCode=e.which?e.which:event.keyCode;

Sker når jeg bla. fører cursor fra korid feltet til pinkode feltet
Avatar billede w13 Novice
18. februar 2008 - 22:35 #9
if(document.getElementById("cardid").value.length==6&&document.getElementById("pincode").value.length==4)oSubmit.removeAttribute("disabled");
  else oSubmit.setAttribute("disabled",true);
}

skal så være:


  if(document.getElementById("cardid").value.length==6&&document.getElementById("pincode").value.length==4)oSubmit.style.display="none";
  else oSubmit.style.display="block";
}

fejlen kan jeg ikke umiddelbart forklare.
Avatar billede lund_dk Praktikant
19. februar 2008 - 11:02 #10
Koden gør at login div'en vises, og når alt er udfyldt korrekt, skjules den.. skulle være lige omvendt.. hehe..

Mig der gør noget galt.?
Avatar billede lund_dk Praktikant
19. februar 2008 - 11:05 #11
blev til
if(document.getElementById("cardid").value.length==6&&document.getElementById("pincode").value.length==4)oSubmit.style.display="block";
  else oSubmit.style.display="none";
}

og


<div id="submitbtn" style="display:none;">Login</div>
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