Avatar billede jackass- Nybegynder
20. juni 2006 - 09:48 Der er 5 kommentarer og
1 løsning

Validering af radiobuttons?

Hej,

Jeg har en form med X antal radiobuttons (value er hver især = en brugers ID i database).

Når en bruger skal slettes, vælger man så en radiobutton og trykker "delete". Men hvordan checker man om der overhovedet er valgt en radio?

Altså noget á la:

function checkvalue(a) {
  if (document.formUsers.radiobutton.checked == NULL) {
    alert('Vælg en bruger!');
    return false;
  else {
    return true;
  }
}
<form blabla... onsubmit="return checkvalue(document.forUsers.radiobutton);">
......
.....
</form>

Er der nogen der kan smide noget der virker? Jeg bøvler med det :-/

/jack
Avatar billede ldanielsen Nybegynder
20. juni 2006 - 09:55 #1
Jeg bruger denne:

function checkRadio(objField, stName){
    if (radioIsSelected(objField)){
        return true
    }else{
        alert ("Vælg \"" + stName + "\"")
        setFocusField(objField[0])
        return false
        }
    }


Kald den f. eks. med:

checkRadio(document.myForm.myRadiogroup, "Bruger")

som både laver en alert hvis den ikke er udfyldt, og returnerer false
Avatar billede ldanielsen Nybegynder
20. juni 2006 - 09:57 #2
Undskyld, der mangler noget, og jeg sletter lige en linie også:

function checkRadio(objField, stName){
    if (radioIsSelected(objField)){
        return true;
    }else{
        alert ("Vælg \"" + stName + "\"");
        return false;
        }
    }

function radioIsSelected(obj){
    for (i=0;i<obj.length;i++) {
        if (obj[i].checked){
            return (true);
            }
        }
    return false;
    }
Avatar billede jackass- Nybegynder
20. juni 2006 - 10:21 #3
Hvorfor ikke med noget så simpelt som:

echo "<a class=\"toolbar\" href=\"java script:if (!document.formUsers.radiobutton.checked){ alert('Please make a selection from the list to delete'); } else if (confirm('Are you sure you want to delete selected items? ')){ document.formUsers.submit();}\">";
echo "<img src=\"gfx/medium/delete_f2.png\" alt=\"Delete\" align=\"middle\" name=\"remove\" border=\"0\" /><br />Delete</a>";

Men med dette siger den bare "please make a selection..." uanset om jeg har valgt en radiobutton eller ej :/

Alle radiobuttons i formen hedder name="radiobutton" .. og så har de bare forskellige values.

Det du har skrevet, kan jeg ikke få til at virke?.. hmm
Avatar billede jackass- Nybegynder
20. juni 2006 - 10:29 #4
Men det er måske fordi at der eksempelvis er 10 radios som ikke er valgt, og 1 der er valgt.. så trigger den på de ikke valgte?
Avatar billede jackass- Nybegynder
24. juni 2006 - 15:32 #5
Brugte en anden lidt nemmere metode.. men smider du et svar, så får du points for indsatsen :)
Avatar billede ldanielsen Nybegynder
26. juni 2006 - 09:22 #6
Svar
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