Avatar billede dmg Nybegynder
16. marts 2005 - 13:21 Der er 4 kommentarer og
1 løsning

Validering af radio buttons

Hey buddies...

Jeg har et javascript, som skal lave noget form validering.

Jeg har 2 radio buttens som hedder anmodning, med hver deres værdi. Hvis den ene er udfyldt, skal den gøre sådan og hvis den anden skal den gøre noget andet.

I nedenstående kode, siger den både if og else og det er vel klart eftersom der er 2 radio knapper der hedder anmodning. Den skal bare tjekke om der er een sat og hvad værdien er...

Så langt er jeg kommet:

function Validate(form)
{
    for (var i=0, j=form.elements.length; i<j; i++)
    {
        myType = form.elements[i].type;
     
        if (myType == 'text' || myType == 'radio' || myType == 'checkbox' || myType == 'textarea')
        {
     
            if (form.elements[i].name == 'anmodning')
            {
                if (form.elements[i].checked)
                {
                      alert("afkrydset");     
                  }
                  else
                  {
                      alert("ikke afkrydset");
                  }
          }
        }
    }
    alert("Din bestilling blev udfyldt korrekt. Tryk på Ok for at afslutte");
    return true; 
}
Avatar billede skyggen2000 Nybegynder
16. marts 2005 - 13:59 #1
har lavet et eksempel:

<html>
<body>       
    <input type=radio name="hej" checked value="knap1"></input>
    <input type=radio name="hej" value="knap2"></input>

    <input type=button onclick="isChecked()" value="Hvilke er checked"></input>
</body>
</html>

<script language="javascript">
           
    function isChecked()
    {     
      var tempArray = document.all.item("hej");
           
      for(i = 0; i < tempArray.length; i++)
      {
          if(tempArray[i].checked == true)
          {
              if(tempArray[i].value == "knap1")
              {
              alert("do this");
              }
              else{
             
              if(tempArray[i].value == "knap2");
              {
              alert("do that");
              }
              }
          }             
      }
    } 

   
</script>

du kunne også fyre værdien ind i en switch hvis du ville
Avatar billede dmg Nybegynder
17. marts 2005 - 08:38 #2
Hej Skyggen :-)

Det virker fint det du har lavet, men jeg kan simpelthen ikke implantere det i mon kode??? Jeg har 2 radio buttons der hedder anmodning.

Først skal den tjekke om man overhovedet har valgt en anmodning. Hvis man har dette, skal den finde ud af hvilken af dem, man har valgt og hvis det er den første, skal der sættes validering på nogle felter og den anden nogle andre valideringer.

Jeg kan ikke se hvorfor nedenstående ikke virker, men jeg er heller ikke en HAJ :-)

function Validate(form)
{
    for (var i=0, j=form.elements.length; i<j; i++)
    {
        myType = form.elements[i].type;
     
        if (myType == 'text' || myType == 'radio' || myType == 'checkbox' || myType == 'textarea')
        {
             
              if (form.elements[i].name == 'anmodning')
            {
               
                  var tempArray = document.all.item("anmodning");

                  for(i = 0; i < tempArray.length; i++)
                  {
                      if(tempArray[i].checked == true)
                      {
                          if(tempArray[i].value == "Endelig")
                          {
                              // her skal der tjekkes om sagsnr er udfyldt.
                              if (form.elements[i].name == 'sagsnr')
                            {               
                                if (form.elements[i].value == '')
                                {
                                    alert(form.elements[i].name+' Der skal være valgt en tur billet');
                                    return false;
                                }
                            }
                          }
                          else
                          {

                          if(tempArray[i].value == "Forespørgesel");
                          {
                              alert("do that");
                              return false;
                          }
                          }
                      }
                  }
        }
        }
    }
    alert("Din bestilling blev udfyldt korrekt. Tryk på Ok for at afslutte");
    return true; 
}
Avatar billede skyggen2000 Nybegynder
17. marts 2005 - 09:23 #3
hehe, det er jo lidt andet end du skriver til at starte med:)

Det kan godt være du ikke er haj, men du har trods alt skrevet en del kode, og det er jo godt.

Har skrevet det lidt om, tror bedre du kan bruge det her.

<html>
<body>       
    <input type=radio name="hej" value="knap1"></input>
    <input type=radio name="hej" value="knap2"></input>

    <input type=button onclick="validation();" value="Hvilke er checked"></input>
</body>
</html>

<script language="javascript">
   
    function validation()
    {
        var strActiveRadioButton;
   
        strActiveRadioButton = isChecked();
       
        //har den returneret en værdi? Ellers er den undefined.
        if(strActiveRadioButton)
            if(strActiveRadioButton == "knap1")
          {
            alert("do this");
          }
          else
          {
            if(strActiveRadioButton == "knap2");
            {
            alert("do that");
            }
          }
   
    }
 
   
    function isChecked()
    {     
      var tempArray = document.all.item("hej");
           
      for(i = 0; i < tempArray.length; i++)
      {
          if(tempArray[i].checked == true)
          {
              return tempArray[i].value;
          }             
      }     
    } 

   
</script>
Avatar billede dmg Nybegynder
17. marts 2005 - 12:07 #4
skyggen du er jo genial!!! Nu har du fået points, men er det let at tjekke om en checkbox er sat? :-)  Tak for hjælpen ellers ;)
Avatar billede skyggen2000 Nybegynder
17. marts 2005 - 12:12 #5
Det er lige så let som jeg lige har vist dig det?:)
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