Avatar billede miss-g Seniormester
15. maj 2004 - 00:53 Der er 34 kommentarer og
2 løsninger

Brugernavn skal også valideres?

http://www.nicolin.dk/slettes/logind.htm

Nogen der kan rette koden, så der også kommer en validering på medlemsnummer? (skal indtastes - og må kun indeholde tal)

Hvis man så har tastet medlemsnummer, men glemmer koden kommer der en alert frem. Når man trykker OK, skal medlemsnummeret blive stående (og omvendt).
Avatar billede miss-g Seniormester
15. maj 2004 - 00:55 #1
Ja undskyld - overskriften lyder på brugernavn - men det er nu et medlemsnummer jeg mener....
Avatar billede olebole Juniormester
15. maj 2004 - 01:12 #2
<ole>

Det kunne være fikst at vide, hvormange ciffre, der kan være - hvis der er en regel for det - men ellers kan det være noget à la:

function submitLoginForm() {
    if (!document.logon.member.value.match(/^\d+$/)) {
        alert("Medlemsnummer skal udfyldes");
        document.logon.member.focus();
        return true;
    }
    if (document.logon.password.value=='') {
        alert("Adgangskode skal udfyldes");
        document.logon.password.focus();
        return true;
    }
    document.logon.submit();
}

/mvh
</bole>
Avatar billede olebole Juniormester
15. maj 2004 - 01:15 #3
Hvis f.eks. medlemsnummeret kan være fra og med 5 til og med 8 ciffre, kommer linien til at hedde:
  if (!document.logon.member.value.match(/^\d{5,8}$/)) {
Avatar billede olebole Juniormester
15. maj 2004 - 01:17 #4
... ooooops - og så skal der jo returneres 'false'  :)

function submitLoginForm() {
    if (!document.logon.member.value.match(/^\d+$/)) {
        alert("Medlemsnummer skal udfyldes");
        document.logon.member.focus();
        return false;
    }
    if (document.logon.password.value=='') {
        alert("Adgangskode skal udfyldes");
        document.logon.password.focus();
        return false;
    }
    document.logon.submit();
}
Avatar billede miss-g Seniormester
15. maj 2004 - 01:30 #5
Hvor i koden skal det sættes ind? Jeg har jo i forevejen et script som hedder
function submitLoginForm()

Så det skal vel flettes ind der?

Og gør din kode også at den husker oplysninger der allerede er indtastet (læs evt. spørgsmålet igen).
Avatar billede olebole Juniormester
15. maj 2004 - 01:38 #6
Du skal blot udskifte den funktion, du allerede har med det navn med den, jeg har skrevet.
Jeg forstår ikke sidste del af spørgsmålet - men prøv det, så kan du se, hvad der sker - og hvad der ikke sker  ;o)
/mvh
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:39 #7
"Og gør din kode også at den husker oplysninger der allerede er indtastet (læs evt. spørgsmålet igen)." -> return false stopper den, så den ikke kan submitte formen..

Så, ja, informationerne "huskes" :-)
Avatar billede miss-g Seniormester
15. maj 2004 - 01:40 #8
Formen virker nu - eller medlemsnummeret bliver valideret, og koden...

Men hvis jeg nu har tastet medlemsnummeret ind, og glemmer koden - så kommer alertboksen frem. Når jeg trykker ok til den - så sletter den det medlemsnummer jeg lige har tastet ind.

Og hvis jeg har sat hak i "husk adgangskoden" og glemmer noget - trykker ok - så bliver hakket fjernet....

Det er det jeg vil undgå *S*
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:40 #9
lige et par ting...
- i stedet for "confirm", skal der stå "window.confirm".. ellers virker det ikke i Mozilla (+FireFox)
- fjern:

            if (document.logon.password.value!='') {
                document.logon.submit();
            }
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:42 #10
fjern også "document.logon.password.value='';" fra:

function warning() {
    if (!document.logon.saveC.checked) {
        document.cookie = "login=0; path=/";
        document.logon.password.value='';
        return true;
    } else {
Avatar billede miss-g Seniormester
15. maj 2004 - 01:44 #11
Rettet
Avatar billede miss-g Seniormester
15. maj 2004 - 01:45 #12
Har uploadet den "nye" kode - men mangler så lige det sidste...at den kan huske indtastede oplysninger - såfremt de er korrekte...
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:47 #13
Jeg vil sige at der er en del overflødige ting.. her er nogle justeringer..:

1) fjern funktionen
function entercheck(evt) {
    var charCode = (evt.which)?evt.which:event.keyCode;
    if (charCode == 13) {
        submitLoginForm();
    }
    return true;
}

2) fjerne disse events:
onkeypress="return entercheck(event);"

3) fjerns disse id'er
id="member"
id="password"
id="logon"

4) koden rettes til:
<form action="" method="post" name="logon" onSubmit="return submitLoginForm()">

5) koden rettes til:
<input onclick="return warning();" tabIndex="4" type="checkbox" value="1" name="saveC">

Men vent lige og se hvad olebole siger til det..
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:48 #14
Hvis de indtastede oplysninger er korrekte, submittes formen, og en siden loades på ny.. dvs, med default/standard værdierne..
Standard værdierne for medlemsnummeret + passwordet er jo "" (ingenting).
Avatar billede thesurfer Nybegynder
15. maj 2004 - 01:50 #15
..og i fremtiden hedder det <script type="text/JavaScript"> :-)
Avatar billede miss-g Seniormester
15. maj 2004 - 01:55 #16
Ok - sidder og laver det i Dreamweaver, så programmet opfinder selv noget af det *G*

Ok - nu ser det ud til at virke, bortset fra 1 ting.

Den må altså godt slette det indtastede i feltet medlemsnummer, såfremt man taster alt andet end et nummer....
Avatar billede miss-g Seniormester
15. maj 2004 - 01:56 #17
Har uploaded en ny...
Avatar billede miss-g Seniormester
15. maj 2004 - 01:57 #18
Hvad er det lige for en linie som gør at den husker det indtastede?

(Bare til en anden gang) *S*
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:00 #19
Det er ikke hvad den husker, men hvad den "glemmer"/overskriver :-)

Her sætter du passwordet til ingenting, når man klikker på checkboksen og den ikke i forvejen er hakket af:

document.logon.password.value='';
Avatar billede miss-g Seniormester
15. maj 2004 - 02:05 #20
Fatter ikke så meget javascript *G*

Men kan vi finde en løsning på at den sletter det indtastede i medlemsnummer feltet såfremt det ikke er et nummer?
Avatar billede miss-g Seniormester
15. maj 2004 - 02:07 #21
Den her var ikke noget jeg skulle gøre noget ved, vel?

document.logon.password.value='';
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:08 #22
Den skulle fjernes :-)
Se 15/05-2004 02:00:02.

mht nummeret: hvis det ikke er et nummer, skal det jo ikke stå der..?
Avatar billede miss-g Seniormester
15. maj 2004 - 02:10 #23
Nej, og det får man også besked på - at man skal indtaste et medlemsnummer. Men det ville da være smart at den så lige slettede de bogstaver man havde indtastet - evt. når man klikker i feltet - men allerhelst, når man trykker ok til alert boksen.

Sletter den omtalte linie.
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:12 #24
Ahh.. den skal fjerne det indtastede :-)
Undrede mig lide over hvad der var galt :-)

Her er al den kode du skal bruge:

<script type="text/JavaScript">
function submitLoginForm() {
    if (!document.logon.member.value.match(/^\d+$/)) {
        alert("Medlemsnummer skal udfyldes");
        document.logon.member.value = '';
        document.logon.member.focus();
        return false;
    }
    if (document.logon.password.value=='') {
        alert("Adgangskode skal udfyldes");
        document.logon.password.focus();
        return false;
    }
    document.logon.submit();
}

function warning() {
    if (!document.logon.saveC.checked) {
        document.cookie = "login=0; path=/";
        return true;
    } else {
        if (confirm("ADVARSEL!\n\nVed valg af husk log ind vil alle der har adgang til din PC kunne logge ind unden at kende din adgangskode.\n\nKlik på OK hvis du stadig ønsker at din browser husker brugernavn og adgangskode.")) {
            return true;
        } else {
            return false;
        }
    }
}
</script>
</head>
<body>
<table width="400" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><form action="" method="post" name="logon" onSubmit="return submitLoginForm()">
        <table width="400" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td>Medlemsnummer:</td>
          </tr>
          <tr>
            <td><input name="member" type="text"></td>
          </tr>
          <tr>
            <td>Adgangskode:</td>
          </tr>
          <tr>
            <td><input name="password" type="password"></td>
          </tr>
          <tr>
            <td><input onclick="return warning();" tabIndex="4" type="checkbox" value="1" name="saveC">
              Husk adgangskode</td>
          </tr>
          <tr>
            <td><input type="submit" name="Submit" value="Log ind"></td>
          </tr>
        </table>
      </form></td>
  </tr>
</table>
</body>
</html>
Avatar billede miss-g Seniormester
15. maj 2004 - 02:13 #25
Nu kommer der slet ingen alertbokse frem ??
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:15 #26
Hvor? Hvornår? Hvad prøver du på? :-)
Avatar billede miss-g Seniormester
15. maj 2004 - 02:16 #27
Hvis jeg glemmer at taste adgangskode eller hvis jeg skriver bogstaver i medlemsnummeret....
Avatar billede miss-g Seniormester
15. maj 2004 - 02:17 #28
Den var fin før - der kom alert bokse, men så ville jeg bare have den til at slette det indtastede i feltet medlemsnummer HVIS man fik en alert, fordi man havde tastet bogstaver.
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:18 #29
Hos mig virker det fint/perfekt.. opload det lige, så jeg kan se hvad du har gjort forkert :-)
Avatar billede miss-g Seniormester
15. maj 2004 - 02:19 #30
Hæ hæ - den virker også fint hos mig nu. Må have din kode forkert ind. Nu virker det - skide godt!! Læg et svar *S*
Avatar billede miss-g Seniormester
15. maj 2004 - 02:20 #31
Olebole - du må også få noget af æren (læg et svar).

Tak for hjælpen begge to.

Der kommer nogle flere jeg skal have hjælp til - opretter nye spørgsmål i morgen *S*
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:21 #32
OK, olebole skal også ha' points..

Og så lige at jeg have glemt "window.confirm": if (confirm("ADVARSEL!\
Avatar billede miss-g Seniormester
15. maj 2004 - 02:21 #33
Ok - det retter jeg lige.

Kigger ind i morgen, og ser om OleBole har lagt svar.
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:24 #34
Nej, det går.. det er komplet umuligt.. du bliver nød til at give points nu... :-)

joke.. helt iorden ;-)
Avatar billede olebole Juniormester
15. maj 2004 - 02:33 #35
Hold da op, en aktivitet ... man kan da heller ikke vende ryggen til Jer et øjeblik  ;D
Avatar billede thesurfer Nybegynder
15. maj 2004 - 02:37 #36
Så'n er vi ;-)
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