Avatar billede jems Nybegynder
13. maj 2002 - 10:06 Der er 14 kommentarer og
1 løsning

Checke på select

Hejsa

Jeg har nogle selectboxe i en form og hvis deres value er 0 skal der komme en fejlmeddelse frem på skærmen OG formen må ikke submittes!

Mvh
Avatar billede goose Nybegynder
13. maj 2002 - 10:14 #1
Avatar billede delwin Nybegynder
13. maj 2002 - 10:14 #2
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
    function chkForm(form) {
        if(form.hat.checked!=true) {
            return false;
        }
        return true;
    }
//-->
</SCRIPT>

<form method="post" action="videre.php" onSubmit="return chkForm(this);">
    <input type="checkbox" name="hat" value="1">
    <input type="submit">
</form>
Avatar billede jems Nybegynder
13. maj 2002 - 10:48 #3
goos>
fint, men jeg skal validere tre selects:

function validerSag()
  {
  error = 0;
  if((document.forms[0].prioritet.value==0) && (error==0)) 
  {       
    alert('Du skal vælge prioritet!');
    document.forms[0].prioritet.focus();
    error = 1;
  }           
  if((document.forms[0].OpgType.value==0) && (error==0)) 
  {       
    alert('Du skal vælge fejlens type!');
    document.forms[0].OpgType.focus();
    error = 1;
  }           
  if((document.forms[0].Hyppighed.value==0) && (error==0)) 
  {       
    alert('Du skal vælge fejlens hyppighed!');
    document.forms[0].Hyppighed.focus();
    error = 1;       
  }           

  if(error == 0)
  document.forms[0].submit();   
  }

Men nu vil den ikke submitte, selvom alle er valg rigtigt :(
Hvad gør jeg forkert?
Avatar billede goose Nybegynder
13. maj 2002 - 10:56 #4
Prøv følgende:

function validerSag()
  {
  error = 0;
  if((document.forms[0].prioritet.value=='') && (error==0)) 
  {       
    alert('Du skal vælge prioritet!');
    document.forms[0].prioritet.focus();
    error = 1;
  }           
  if((document.forms[0].OpgType.value=='') && (error==0)) 
  {       
    alert('Du skal vælge fejlens type!');
    document.forms[0].OpgType.focus();
    error = 1;
  }           
  if((document.forms[0].Hyppighed.value=='') && (error==0)) 
  {       
    alert('Du skal vælge fejlens hyppighed!');
    document.forms[0].Hyppighed.focus();
    error = 1;       
  }           

  if(error == 0)
  document.forms[0].submit();   
  }

/Goose
Avatar billede jems Nybegynder
13. maj 2002 - 10:58 #5
hvad er forskellen?
Avatar billede goose Nybegynder
13. maj 2002 - 10:59 #6
Fortsættelse:
Sæt din standartværdi i selectboksene til value=""

<OPTION SELECTED value="">- Vælg -</OPTION>

/Goose
Avatar billede goose Nybegynder
13. maj 2002 - 11:00 #7
Forskellen er, at jeg har ændret fra

Hyppighed.value==0
til
Hyppighed.value==''

Jeg er ikke nogen javascript haj, men jeg bruger selv denne model.

/Goose
Avatar billede jems Nybegynder
13. maj 2002 - 11:02 #8
Det virker ikke :(
Avatar billede goose Nybegynder
13. maj 2002 - 11:12 #9
Det virker fint for mig, send din kode, så skal jeg lige kigge på det.

/Goose
Avatar billede jems Nybegynder
13. maj 2002 - 11:13 #10
Den når ned til:
  if(error == 0)
  document.forms[0].submit();   
  }
For hvis jeg skriver:
if(error == 0)
alert('Det hele er ok!');
document.forms[0].submit();   
får jeg alerten 'Det hele er ok!'
Den vil bare ikke submitte
Avatar billede goose Nybegynder
13. maj 2002 - 11:17 #11
hvad har du af værdier i dine selectbokse når der ikke er valgt noget ?

/Goose
Avatar billede jems Nybegynder
13. maj 2002 - 11:19 #12
0
Avatar billede goose Nybegynder
13. maj 2002 - 11:32 #13
Har du prøvet at gøre som jeg har skrevet, altså sætte value="" på dine checkbokse når der ikke er valgt noget, og så ændret i selve valideringen som jeg skrev kl 10:56:07 ?!?

/Goose
Avatar billede -mundi- Nybegynder
13. maj 2002 - 11:35 #14
Du skal bruge:

if((document.forms[0].Hyppighed.value=='0') && (error==0)) 

da det ikke er et numerisk 0 (nul) hvis du har angivet din value som

value="0"
Avatar billede jems Nybegynder
13. maj 2002 - 14:03 #15
Så fik jeg det til at virke :)
I body skulle der stå: onsubmit="validercreateSag();return false;"
og i den sidste if-sætning skulle der stå:
if(error == 0)
{
document.forms[0].submit();
return submit;
}
Tak for hjælpen

/Jens
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