Avatar billede cort Nybegynder
08. juni 2001 - 14:46 Der er 25 kommentarer og
1 løsning

Check input felter af typen radio

Jeg skal bruge et javascript check der bliver aktiveret ved submit.
Det skal checke et ukendt antal input felter af typen radio om der er valgt, alle radios skal være valgt for end man kan submitte.
Avatar billede cautoo Nybegynder
08. juni 2001 - 14:50 #1
if (document.formnavn.radioknapnavn.value == \'\') {
alert(\'fejl\');
return true;
}
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 14:53 #2
Hedder de allesammen \"q\" til at begynde med ? :) Nå, i JavaScript kan man
checke typen:

function check(f) {
  for (i=0;i<f.elements.length;i++) {
    if (f.elements[i].type==\"radio\" && f.elements[i].value==\"\") {
      alert(\"Alle...\");
      return false;
    }
  }
  return true;
}
Avatar billede olebole Juniormester
08. juni 2001 - 14:54 #3
<ole>
<script language=\"javascript\">

function check() {
    for (i=0; i<document.formNavn.length; i++) {
        if (document.formNavn.elements[i].type == \"RADIO\") {
            if (document.formNavn.elements[i].checked == false) {
                alert(\'Kvaj...!!!\');
                return false;
            }
        }
    }
}

</script>

/mvh
</bole>
Avatar billede nute Nybegynder
08. juni 2001 - 14:55 #4
var formElements = document.formnavn.elements;
for( var index = 0; index < formElements.length; index++ ){   
  element = eval(\"document.formName.elements[\" + index + \"]\").type;
  if( element.indexOf(\"radio\") != -1 ){
          checked = false;
          for( var x = 0; x < eval(\"formElements.\" + elementName).length; x++ ){
                if( eval(\"document.\" + formName + \".\" + elementName)[x].checked ){
                    checked = true;
                }
            }
    }
}
return checked;
Avatar billede nute Nybegynder
08. juni 2001 - 14:56 #5
hov....3 like forslag :)

Mitt er dog kopiert fra en egen funksjon, og jeg ser jeg har glemt å fjerne en hel masse eval() funksjoner... :)

/nute
Avatar billede olebole Juniormester
08. juni 2001 - 14:58 #6
...så skriver du i dit form-tag:

<form onsubmit=\"return check()\">
Avatar billede cort Nybegynder
08. juni 2001 - 14:58 #7
Havd er det der skal stå i  form tagget?
er det onsubmit=\'check\'
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 15:00 #8
i min:  onsubmit=\"return check(this);\"
Avatar billede olebole Juniormester
08. juni 2001 - 15:02 #9
Njaahhh, nute - Eriks er ikke rigtigt...!  ;o)

Iøvrigt kan mit forslag skrives en hel del mere sexy:

<script language=\"javascript\">
function check(which) {
    for (i=0; i<which.length; i++) {
        if (which.elements[i].type == \"RADIO\") {
            if (which.elements[i].checked == false) {
                alert(\'Kvaj...!!!\');
                return false;
            }
        }
    }
}
</script>

...og:

<form onsubmit=\"return check(this)\">
Avatar billede olebole Juniormester
08. juni 2001 - 15:02 #10
Erik, din \'if\' holder ikke, vel...?  ;o)
Avatar billede cort Nybegynder
08. juni 2001 - 15:07 #11
Det virker da ikke en skid olebole, har det noget at sige at name ikke er ens?
Avatar billede nute Nybegynder
08. juni 2001 - 15:09 #12
alle radio buttons (som hører til samme gruppe) skal ha samme navn...
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 15:09 #13
Ja, vi bommer den vist allesammen - forskelligt dog.
Der er flere forskellige radiogrupper. Alle skal afkrydses.
Avatar billede cort Nybegynder
08. juni 2001 - 15:12 #14
Yes guys, sorry krav specifikation var ikke entydig.
Er der nogen der friske på at prøve igen.
Vi kan jo sige at der vanker en bonus til vinderen.
Avatar billede olebole Juniormester
08. juni 2001 - 15:17 #15
Der står højt og tydeligt i spørgsmålet: \"...alle radios skal være valgt for end man kan submitte.\" I så fald kan der ikke være flere med det samme navn.
/mvh
Avatar billede olebole Juniormester
08. juni 2001 - 15:18 #16
Jamen, vi er (t)unge og friske mennesker :oD
Bare fortæl, hvad du vil, så skal der nok komme et svar...
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 15:18 #17
Ole-pernittengryn-Bole :)
Avatar billede olebole Juniormester
08. juni 2001 - 15:23 #18
Nej, zq...seriøst...! Det kan da sagtens være alle radio-buttons skal være valgt. Folk bruger radio\'s til de mærkeligste ting - derfor er det langt fra sikkert, de skal sidde i grupper  :o)
/mvh
Avatar billede cort Nybegynder
08. juni 2001 - 15:26 #19
Radio grupperne hedder q1, q2 osv.
der er to radio bottons i hver gruppe.

det smalede antal af radio grupper er ukendt.
Men af alle dem der vises på siden skal der være valgt en af mulighederne.
Avatar billede cort Nybegynder
08. juni 2001 - 15:32 #20
Et lille tillægs ?
Kan man cheke på flere funktioner i onsubmit altså ala
onsubmit=\'return checkform(this);return check(this);\"
dette virker dog ikke.
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 15:33 #21
function check(f) {
  c = new Array();
  for (i=0;i<f.elements.length;i++) {
    if (f.elements[i].type==\"radio\") {
      if (f.elements[i].checked) {
        c[f.elements[i].name]=2;
      }
      if (c[f.elements[i].name]!=2) {
        c[f.elements[i].name]=1;
      }
    }
  }
  ok=true;
  for (v in c) {
    if (c[v]!=2) {
      alert(v+\" ikke afkrydset\");
      ok=false;
    }
  }
  return ok;
}
Avatar billede cort Nybegynder
08. juni 2001 - 16:23 #22
hej
I alert(v+\" ikke afkrydset\");
hvor radio feltets name bliver udskrevet, skal q gerne fjernes, er der en nem måde at gøre dette på?

  Et lille tillægs ?
Kan man cheke på flere funktioner i onsubmit altså ala
onsubmit=\'return checkform(this);return check(this);\"
dette virker dog ikke. 
Avatar billede cort Nybegynder
08. juni 2001 - 16:25 #23
Og kan man ikke for alerten til at vises en gang med en besked hvis der er en af elementerne der ikke er udfyldt? Altså der skal ikke komme en popup for hvert element, bare en samlet der alerter hvis et felt ikke er valgt.
Avatar billede cort Nybegynder
08. juni 2001 - 16:38 #24
jeg skal nok give point bare sig til
Avatar billede cort Nybegynder
08. juni 2001 - 17:17 #25
er i faldet om?
Avatar billede erikjacobsen Ekspert
08. juni 2001 - 20:34 #26
alert(v.substr(1,1000)+\" ikke afkrydset\");
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