Avatar billede hundevennen Nybegynder
04. november 2009 - 14:27 Der er 14 kommentarer og
1 løsning

Problemer med valideeringsscript

jeg har fundet et script jeg kan bruge til at validere et inputfelt, -men når jeg klikker på submitknappen kommer fejlboksen godt nok frem og beskriver fejlen, men når man så klikker ok på fejlboksen submittes formen alligevel.

her er submitknappen:

<input type=submit value=bestil onclick="tjeksize()">
Avatar billede Slettet bruger
04. november 2009 - 14:49 #1
onclick="tjeksize()"
=>
onsubmit="return tjeksize()"

Og i funktionen tjeksize() skal så ende med:
return true
eller
return false
Avatar billede Slettet bruger
04. november 2009 - 14:50 #2
PS: Det er en kat jeg har på tallerknen!
Avatar billede Slettet bruger
04. november 2009 - 14:53 #3
Hov - den dersens onsubmit="return tjeksize()" skal sættes ind i form-taggen
- knappen skal bare (forsøge at) submitte
Avatar billede hundevennen Nybegynder
05. november 2009 - 11:09 #4
hmm det virker ikke rigtigt, men her er hele mit script

<SCRIPT TYPE="text/javascript">
<!--
var fejl=true;
var okTegn= ["1","2","3","4","5","6","7","8","9"]; //ethvert tegn

function op(){
}

function advarBruger()
{
alert('Ulovligt tegn i password');
sampleform.jnr.value="";
}

function tjeksize()
{
var str=sampleform.jnr.value;
if(str.length<19) alert('Du har ikke udfyldt jnrnr rigtigt - husk bindestreg!');
sampleform.jnr.value="";

}
     
function tjekLovlig()
{
  var streng = sampleform.jnr.value;
    var token = sampleform.jnr.value.charAt(sampleform.jnr.value.length-1)
  for (i=0; i<=okTegn.length; i++)

if ( token  == okTegn[i]) {fejl=false;  break;} else if(i>=okTegn.length) advarBruger();

}
}
-->
</SCRIPT>


<form name=sampleform action="bestil.asp" method=post onsubmit="return tjeksize()">
Jnrnr:</td><td class="form1"><input class="form2" type=text name="jnr" size="50" >

<input type=submit value=Bestil name=Valg style="width:100px">
Avatar billede Slettet bruger
05. november 2009 - 15:04 #5
Husk at tjeksize-funktionen skal returnere true eller false
- returnerer den false til onsubmit, bliver formen ikke sendt.

f.eks:

function tjeksize()
    {
    if(sampleform.jnr.value.length != 19)
        {
        alert('Jnr. er ikke 19 tegn lang - Dur ikke. Væk!')
        return false
        }
    return true
    }
Avatar billede hundevennen Nybegynder
05. november 2009 - 17:01 #6
det nærmer sig - advarslen kommer op - men jeg skal klikke 2 gange på ok knappen????????????
Avatar billede Slettet bruger
05. november 2009 - 17:45 #7
Det må være fordi du kalder funktionen 2 gange...
- ligger den stadig i onclick på knappen ?
- eller i en onchange på feltet måske ?
Avatar billede hundevennen Nybegynder
05. november 2009 - 19:32 #8
der er onclick på submitknappen - skal der ikke være det?
Avatar billede Slettet bruger
05. november 2009 - 20:33 #9
Nix, væk med den - onsubmit på selve formen klarer ærterne : )

(men det er en lidt tyndbenet "validering" - bare 19 tegn, ingen andre krav?)
Avatar billede hundevennen Nybegynder
05. november 2009 - 20:43 #10
jo det er der faktisk.
Der skal være 19 tegn ialt, - men de består af tal og bindestreger i formatet 1111-11111-11111-11
Avatar billede hundevennen Nybegynder
05. november 2009 - 20:48 #11
jeg har nu fjernet fra inpuntfeltet og submitknappen og lagt onsubmit i formtaggen, men man skal stadig klikke 2 gange på ok knappen
Avatar billede Slettet bruger
05. november 2009 - 20:51 #12
Du kan sagtens checke om det er opfyldt inden submit - med et "regular expression"
- det er bare ikke min stærke side, opret et nyt spørgsmål :)
Avatar billede hundevennen Nybegynder
05. november 2009 - 21:30 #13
jeg har haft et spm med regexp men fik ingen kommentarer eller svar
Avatar billede Slettet bruger
05. november 2009 - 22:56 #14
Det ligner noget der er løgn, men virker sgu:

function tjeksize()
    {
    if(!document.sampleform.jnr.value.match(/^\d{4}-\d{5}-\d{5}-\d{2}$/))
        {
        alert("Jnr. er ikke validt (xxxx-xxxxx-xxxxx-xx) om igen..")
        return false
        }
    return true
    }

- gi' mig så de f... points : D
Avatar billede hundevennen Nybegynder
06. november 2009 - 08:59 #15
Mange tak for hjælpen
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