Avatar billede zetn Nybegynder
19. september 2005 - 21:41 Der er 16 kommentarer og
1 løsning

Validerings fejl .

Hey, nogen der kan hjælpe mig med hvad der går galt her?

<SCRIPT type=text/javascript>

function Validering()
{
error = 0;


if((document.sform.Ordrernr.value=='' ) && (error==0))
{
alert('Alle felter skal udfyldes');
document.sform.Ordrernr.focus();
error = 1;
}

if(sform.Koen[0].checked && sform.Koen[1].checked) {
  tekst += 'ko skal vælges, blabla\n';
  ok_data = false;
}
if (ok_data==false) {
  alert(tekst);
}
if(error == 0)
{
document.sform.submit();
}
}
</SCRIPT>



<FORM name=sform onsubmit="Validering(); return false;" action=http://scripts.scannet.dk/form2mail.asp method=post>

<INPUT name=Ordrernr><br>

<INPUT type=radio value=Pige name=Koen>
<INPUT type=radio value=Dreng name=Koen>

<INPUT type=submit value="Send informationer">

</form>


På forhånd tak!
Avatar billede softspot Forsker
19. september 2005 - 21:47 #1
Går galt...? Det kommer an på hvad du forventer der skal ske...


Umiddelbar synes jeg dog det er lidt spøjst at returnere false hver gang man forsøger at submitte formularen.

Du skal nok lave din valideringsrutine således den returnerer resultatet true hvis valideringen er ok og false i modsat fald. Derefter skal du ændre onsubmit til

onsubmit="return Validering()"
Avatar billede zetn Nybegynder
19. september 2005 - 21:49 #2
Kunne du hjælpe med at fikse det?
Avatar billede softspot Forsker
19. september 2005 - 21:56 #3
<SCRIPT type=text/javascript>
function Validering()
{
  var error = 0;
  var tekst = '';

  if((document.sform.Ordrernr.value=='') && (error==0))
  {
    alert('Alle felter skal udfyldes');
    document.sform.Ordrernr.focus();
    error = 1;
  }

  if(sform.Koen[0].checked && sform.Koen[1].checked) {
    tekst += 'ko skal vælges, blabla\n';
    ok_data = false;
  }

  if (ok_data==false) {
    alert(tekst);
  }

  return (error == 0);
}
</SCRIPT>



<FORM name="sform" onsubmit="return Validering();" action="http://scripts.scannet.dk/form2mail.asp" method="post">

  <INPUT name="Ordrernr"><br>

  <INPUT type="radio" value="Pige" name="Koen">
  <INPUT type="radio" value="Dreng" name="Koen">

  <INPUT type="submit" value="Send informationer">

</form>
Avatar billede zetn Nybegynder
19. september 2005 - 21:57 #4
Hej, jeg får stadigvæk fejl..
Avatar billede softspot Forsker
19. september 2005 - 21:58 #5
Bemærk flg.:

1. Det er god skik at omslutte attributværdier med anførselstegn

2. Det er godt at lave indryk i sin kode, det gør koden lagt nemmere at overskue og læse.

3. Det er god skik at erklære sine variable inden man bruger dem.
Avatar billede softspot Forsker
19. september 2005 - 21:58 #6
Kan du evt. hjælpe lidt på vej ved at fortælle hvad fejlen er?
Avatar billede zetn Nybegynder
19. september 2005 - 21:59 #7
ok_data er ikke defineret
Avatar billede softspot Forsker
19. september 2005 - 22:07 #8
<SCRIPT type=text/javascript>
function Validering()
{
  var error = 0;
  var tekst = '';
  var ok_data = true;

  if((document.sform.Ordrernr.value=='') && (error==0))
  {
    alert('Alle felter skal udfyldes');
    document.sform.Ordrernr.focus();
    error = 1;
  }

  if(sform.Koen[0].checked && sform.Koen[1].checked) {
    tekst += 'ko skal vælges, blabla\n';
    ok_data = false;
  }

  if (ok_data==false) {
    alert(tekst);
  }

  return (error == 0);
}
</SCRIPT>
Avatar billede zetn Nybegynder
19. september 2005 - 22:14 #9
Hej, den validerer fint nok selve tekst feltet, men når det er udfyldt, springer den radio butoon over. :(
Avatar billede softspot Forsker
19. september 2005 - 22:19 #10
ja, det er da fordi error mangler at blive sat hvis der er fejl i køn :)


<SCRIPT type=text/javascript>
function Validering()
{
  var error = 0;
  var tekst = '';
  var ok_data = true;

  if((document.sform.Ordrernr.value=='') && (error==0))
  {
    alert('Alle felter skal udfyldes');
    document.sform.Ordrernr.focus();
    error = 1;
  }

  if(sform.Koen[0].checked && sform.Koen[1].checked) {
    tekst += 'ko skal vælges, blabla\n';
    ok_data = false;
    error = 2;
  }

  if (ok_data==false) {
    alert(tekst);
  }

  return (error == 0);
}
</SCRIPT>
Avatar billede zetn Nybegynder
19. september 2005 - 22:20 #11
Stadigvæk det samme :)
Avatar billede softspot Forsker
19. september 2005 - 22:26 #12
if(sform.Koen[0].checked && sform.Koen[1].checked) {

checker om der begge er valgt, det er vel ikke hvad du ønsker skal ske?

Jeg ville tro flg. var hvad du ønskede:

if(!sform.Koen[0].checked && !sform.Koen[1].checked) {
Avatar billede zetn Nybegynder
19. september 2005 - 22:38 #13
Ja, dog kommer fejlen ved manglende valg af radio button, lige efter man har trykket oki til fejlen for tekstfeltet.
Avatar billede softspot Forsker
19. september 2005 - 22:46 #14
Hvis du kun vil have en fejlmeddelelse ad gangen, skal du lave en betingelse med en else if sektion i stedet for sidestillede if-sætninger.

<SCRIPT type=text/javascript>
function Validering()
{
  var error = 0;

  if(document.sform.Ordrernr.value=='') {
    alert('Alle felter skal udfyldes');
    document.sform.Ordrernr.focus();
    error = 1;
  }
  else if(!sform.Koen[0].checked && !sform.Koen[1].checked) {
    alert('Køn skal vælges, blabla');
    error = 2;
  }

  return (error == 0);
}
</SCRIPT>
Avatar billede zetn Nybegynder
19. september 2005 - 23:15 #15
Perfekt... Smid et svar :)

Mange tak for hjælpen...
Avatar billede softspot Forsker
19. september 2005 - 23:20 #16
Velbekomme :)
Avatar billede softspot Forsker
20. september 2005 - 10:40 #17
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