Avatar billede michael_stim Ekspert
18. august 2004 - 11:47 Der er 5 kommentarer og
1 løsning

Validering af radiobuttons.

Jeg har to problemer (programmeringsmässige, de andre tager jeg ikke op her ;o))

Som overskriften siger så skal den validerer om det f.eks er et nej og et tekstfelt ikke er udfyldt så skal der komme en alert.
Noget á la
if(anmalt.value.checked && tekstfelt==""){
alert('blabla')
}

Det andet problem er at hvis det er et ja så skal visse tekstfelter disables.

Medsender den eksisterende funktion hvis det kan hjälpe:

function checking(f){
  var plats = f.Plats.value;
  var Handelse = f.handelse.value;
  var annanplatsText = f.annanPlatsText.value;
  var beskrivning = f.Beskrivning.value;
  if (plats == "Annan plats" && annanplatsText == ""){
    alert('Du måste skriva plats för händelsen!');
    f.annanPlatsText.focus();
    return false;
  }
  if (plats == "tom" && annanplatsText == ""){
    alert('Du måste välja en plats för händelsen!');
    return false;
  }
  if (Handelse == "Annat" && beskrivning == ""){
    alert('Du måste beskriva händelsen!');
    f.Beskrivning.focus();
    return false;
  }
  if (Handelse == "tom"){
    alert('Du måste välja en händelse!');
    return false;
  }
  var alone = f.ensam,chkd=false;
  for(i=0;alone.length>i;i++)chkd = chkd||alone[i].checked;
  if(!chkd){
    alert('Var personen ensam?');
    f.ensam[0].focus();
    return false;
  }
  var known = f.kand,chkd=false;
  for(i=0;known.length>i;i++)chkd = chkd||known[i].checked;
  if(!chkd){
    alert('Var personen känd?');
    f.kand[0].focus();
    return false;
  }
  var vittness = f.vittne,chkd=false;
  for(i=0;vittness.length>i;i++)chkd = chkd||vittness[i].checked;
  if(!chkd){
    alert('Fanns det några vittnen?');
    f.vittne[0].focus();
    return false;
  }
  var meldt = f.anmalt,chkd=false;
  for(i=0;meldt.length>i;i++)chkd = chkd||meldt[i].checked;
  if(!chkd){
    alert('Har incidenten polisanmälts?');
    f.anmalt[0].focus();
    return false;
  }
  var gard = f.atgard,chkd=false;
  for(i=0;gard.length>i;i++)chkd = chkd||gard[i].checked;
  if(!chkd){
    alert('Önsker du någon uppföljning?');
    f.atgard[0].focus();
    return false;
  }

  return true;
}
Avatar billede roenving Novice
18. august 2004 - 12:05 #1
Det er jo to vidt forskellige bidder !-)

if(f.anmalt[1].checked&& tekstfelt==""){
  alert('blabla')
}

-- og:

Start med at have de tekstfelter disabled, så kan du:

<input type="radio" name="anmalt" onclick="this.form.felt1.disabled=this.form.felt2.disabled=true">&nbsp;Ja
<input type="radio" name="anmalt" onclick="this.form.felt1.disabled=this.form.felt2.disabled=false">&nbsp;Nej
Avatar billede michael_stim Ekspert
18. august 2004 - 13:06 #2
Tak IGEN roenving "scriptkongen". Har ikke testet det men stoler som sedvanlig på dine färdigheder, så läg du bare et svar. Bare lige et tillägsspörgsmål: Hvor starter arrays i javascript? 0 eller 1? Kunne selv söge på det, men eftersom du alligevel skal svare og formodentlig ved det så bliver det noget lettere for mig ;o)
Avatar billede roenving Novice
18. august 2004 - 13:16 #3
Arrays (og alle beslægtede ting !-) starter _altid_ med element 0 i javascript ...

Tilsvarende hedder det første bogstav i en streng charAt(0), og man kunne måske beskrive logikken med, at man ikke behøver at bevæge sig for at se det første element, når man tager fat i et array eller en streng, mens man skal bevæge sig et skridt for at se det andet element osv. ...

-- og jeg er jo ikke meget for at få point for noget, som ikke er testet, men okay her er der vel højest chance for at det skal være det andet indeks (f.anmalt[0]) ...

-- så velbekomme '-)
Avatar billede michael_stim Ekspert
18. august 2004 - 13:21 #4
Jeg forstår logikken og foreträkker også at de starter på 0. Men det er jo ikke i alle sprog at de gör det. Har man siddet med C/C++ og pludselig skal skrive en stump i VB så bliver man lidt forvirret. For ikke at snakke om .net ;0)
Avatar billede roenving Novice
18. august 2004 - 13:22 #5
-- og tak for point ;~}
Avatar billede roenving Novice
18. august 2004 - 13:32 #6
Det sidste har du ganske ret i !-)
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