Avatar billede mik28 Seniormester
03. oktober 2005 - 13:40 Der er 11 kommentarer og
1 løsning

Problem med funktion

Jeg har denne funktion i mit js

function postnrandret(f){
       
        if(f.postnr.value.length==4)
        {
        out.print(f.postnr.value);
        f.form.submit();
        return true;
        }               
return false;
}

og jeg kalder den således

<input type="text" name="postnr" value="1234" size="20" onblur="return postnrandret(this)">
Avatar billede softspot Forsker
03. oktober 2005 - 13:45 #1
Hvor er out defineret?
Avatar billede mik28 Seniormester
03. oktober 2005 - 13:46 #2
Bare se bort fra out :-)
Avatar billede mik28 Seniormester
03. oktober 2005 - 13:55 #3
Det er meningen at når man forlader feltet at der så teste på om der står 4 tegn i feltet. Hvis der gør så skal formen submittes
Avatar billede softspot Forsker
03. oktober 2005 - 14:01 #4
if(f.postnr.value.length==4)

ændres til

  if(f.value.length==4)


og
out.print(f.postnr.value);

ændres til

out.print(f.value);
Avatar billede mik28 Seniormester
03. oktober 2005 - 14:15 #5
Det er i princippet det her
onblur="this.form.submit();"
jeg gerne vil have til at ske, og det virker også. Jeg ville bare gerne have det til at ligge sammen med mine andre scripts. Jeg kan tilsyneladende ikke få den til at kalde funktionen onblur.
Avatar billede softspot Forsker
03. oktober 2005 - 14:19 #6
Jeg forstår ikke helt... fungerer det stadig ikke hvis du foretager de ændringer jeg foreslår?

function postnrandret(f){
  if(f.value.length==4)
  {
    out.print(f.value);
    f.form.submit();
    return true;
  }               
  return false;
}
Avatar billede softspot Forsker
03. oktober 2005 - 14:21 #7
Man kan så sige at når du returnerer false i en onblur, vil den nok vende tilbage til det pågældende felt, da du så at sige "aflyser" den blur der er igang med en returvædi false... om det rent faktisk er tilfældet og hvormeget andet et "aflyser" er jeg ikke sikker på.
Avatar billede mik28 Seniormester
03. oktober 2005 - 14:53 #8
Det her virker næsten. f.postnr.value=''; virker ikke, men alerten kommer op

function postnrandret(f){
 
if(f.value.length!=4)
{
alert("Skriv et korrekt postnummer");
f.postnr.value='';
return false;
}               

f.form.submit();
return true; 
}
Avatar billede softspot Forsker
03. oktober 2005 - 14:56 #9
Prøv med:

function postnrandret(f){
 
if(f.value.length!=4)
{
  alert("Skriv et korrekt postnummer");
  f.value='';
  return false;
}               

f.form.submit();
return true; 
}

Det lader til at du gerne vil have, at den kontrol du sender med til funktionen er form-objektet, men det er det ikke, det er kontrollen selv, altså postnr...
Avatar billede mik28 Seniormester
03. oktober 2005 - 15:05 #10
Smadder godt. Jeg kan godt se hvad jeg gjorde forkert nu. Tak for hjælpen
Avatar billede softspot Forsker
03. oktober 2005 - 16:44 #11
Velbekomme :)
Avatar billede softspot Forsker
03. oktober 2005 - 17:00 #12
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