Avatar billede xtremer Nybegynder
29. juli 2002 - 17:41 Der er 10 kommentarer og
2 løsninger

validering af radio-knapper

Hvordan kan jeg få dette script til at lave en validering af 9 radiobuttons istedet for kun 2 ????


<script type="text/javascript">

function validering()
  {
  error = 0;


    if(!((document.form1.doegn[0].checked)
      || (document.form1.doegn[1].checked)) && (error==0)) 
    {       
        alert('Anzahl Tage muss ausgefüllt werden !');
        error = 1;       
    }

  if(error == 0)
  document.form1.submit();   
  }

</script>
Avatar billede benny.dk Nybegynder
29. juli 2002 - 17:51 #1
lave flere linier med doegn[x].checked. Op til og med X=8.
Avatar billede jakoba Nybegynder
29. juli 2002 - 17:52 #2
<script type="text/javascript">

function validering() {
    var error = 0;
    for ( i=0; i<document.form1.doegn.length && error==0; i++ ) {
        if ( document.form1.doegn[i].checked ) error = 1;
    }
    if ( error == 0 ) {
        alert( "ingen radioknap er valgt" );
    } else {
        alert( "en af radioknapperne er valgt" );
        document.form1.submit();
    }
}

</script>

mvh JakobA
Avatar billede xtremer Nybegynder
29. juli 2002 - 18:19 #3
Virker ikke JakobA......Benny hvordan skal de linier sættes ind ???
Avatar billede Slettet bruger
29. juli 2002 - 21:57 #4
Jakoba's script burde bestemt virke. Prøv lige at smide et link eller noget kode!
Avatar billede unsigned Nybegynder
29. juli 2002 - 22:01 #5
Her er linierne sat ind:

<script type="text/javascript">

function validering()
  {
  error = 0;


    if(
    !(  (document.form1.doegn[0].checked)
      || (document.form1.doegn[1].checked)
      || (document.form1.doegn[2].checked)
      || (document.form1.doegn[3].checked)
      || (document.form1.doegn[4].checked)
      || (document.form1.doegn[5].checked)
      || (document.form1.doegn[6].checked)
      || (document.form1.doegn[7].checked)
      || (document.form1.doegn[8].checked) )
    &&
      (error==0)
      ) 
    {       
        alert('Anzahl Tage muss ausgefüllt werden !');
        error = 1;       
    }

  if(error == 0)
  document.form1.submit();   
  }

</script>
Avatar billede Slettet bruger
29. juli 2002 - 22:02 #6
Så er det da vist smartere med Jakoba's løsning!
Avatar billede unsigned Nybegynder
29. juli 2002 - 22:05 #7
Spørger beder om at få linierne sat ind, så det får spørger.
Avatar billede unsigned Nybegynder
29. juli 2002 - 22:12 #8
Der er overflødig kode i scriptet. 

    &&
      (error==0)
      )

Error er lige blevet sat til nul, så den vil altid være sand. Derfor kan den stryges.
Avatar billede unsigned Nybegynder
29. juli 2002 - 22:15 #9
Så kommer scriptet til at se sådan ud:

<script type="text/javascript">

function validering()
  {
  error = 0;


    if(
    !(  (document.form1.doegn[0].checked)
      || (document.form1.doegn[1].checked)
      || (document.form1.doegn[2].checked)
      || (document.form1.doegn[3].checked)
      || (document.form1.doegn[4].checked)
      || (document.form1.doegn[5].checked)
      || (document.form1.doegn[6].checked)
      || (document.form1.doegn[7].checked)
      || (document.form1.doegn[8].checked) )
 
      ) 
    {       
        alert('Anzahl Tage muss ausgefüllt werden !');
        error = 1;       
    }

  if(error == 0)
  document.form1.submit();   
  }

</script>
Avatar billede xtremer Nybegynder
30. juli 2002 - 11:20 #10
Det virker altså desværre ikke !!! Kan det være fordi input linien ser sådan ud:

<input type="radio" name="Hotel" value="Nordgården" onclick="imgname3.checked = true;">

Detskulle faktisk fra starten være til hotel og ikke doegn, men i princippet kan det jo være ligegyldigt når jeg retter navnet til :-)

Selve siden kan ses her : http://www.samsoeturist.dk/bestil_mini.asp
Avatar billede jakoba Nybegynder
30. juli 2002 - 11:27 #11
Nu fatter jeg ingenting. De ni radioknapper har da ingenting med 'antal dage' at gøre. radio gruppen med 9 hedder img og ikke doegn.

<script type="text/javascript">

function validering() {
    var error = 0;
    for ( i=0; i<document.form1.img.length && error==0; i++ ) {
        if ( document.form1.img[i].checked ) error = 1;
    }
    if ( error == 0 ) {
        alert( "Du skal vælge info om noget,\nSå jeg kan få lov at SPAMme dig." );
    } else {
        document.form1.submit();
    }
}

</script>

mvh JakobA
Avatar billede Slettet bruger
30. juli 2002 - 11:28 #12
Hvis jeg var dig, satte jeg bare en af radioknapperne til at være checked fra start af:

<input type="radio" name="Hotel" value="bla" checked>

Det modsatte strider også mod HTML-spcifikationen.

Men hvis du ikke vil have en forudvalgt, så kan du skrive dette:

fundet = false;
for (i = 0; i < document.form1.Hotel.length; i++)
if (document.form1.Hotel[i].checked)
fundet = true;
if (!fundet) {
alert("Husk at vælge hotel!");
return false;
}
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