Avatar billede serverkudsk Nybegynder
21. januar 2004 - 11:19 Der er 18 kommentarer og
1 løsning

Skal kun komme hvis jeg vælger det!

Jeg har dette kode

<select size="1" name="Dag">
    <option selected value="Vælg dag">Vælg dag</option>
    <option>Mandag</option>
    <option>Tirsdag</option>
    <option>Onsdag</option>
    <option>Torsdag</option>
    <option>Fredag</option>
    <option>Lørdag</option>
    <option>Søndag</option>
  </select>
<input type="text" name="Fra" size="4">
<input type="text" name="Til" size="4">

de sidste to Fra og Til (input) skal kun komme frem når man vælger en dag, altså når valgte bliver andet end "Vælg Dag"

Nå så Til er udfyldt, skal den gentage det. på en eller anden måde, altså så man har mulighed for at indtaste en ny dag og fra samt til.
Avatar billede nikolajdu Nybegynder
21. januar 2004 - 11:32 #1
<form name="f">

<select size="1" name="Dag" onchange="if(this.options[this.selectedIndex].value!='Vælg dag'){document.f.Fra.style.display='block';document.f.Til.style.display='block';}else{document.f.Fra.style.display='none';document.f.Til.style.display='none';};">
Avatar billede nute Nybegynder
21. januar 2004 - 13:55 #2
skal du ha flere end ett set med "Til/Fra" inputs ? Altså at du kan have 2xFra og 2x Til ?

/nute
Avatar billede Slettet bruger
21. januar 2004 - 17:58 #3
Lidt kortere:

<select size="1" name="Dag" onchange="this.form.Fra.style.display = this.form.Til.style.display = (this.selectedIndex != 0) ? 'block' : 'none';">
Avatar billede serverkudsk Nybegynder
21. januar 2004 - 21:19 #4
hmm, jeg syntes ikke at jeg kan få det til at virke!
Avatar billede roenving Novice
24. januar 2004 - 18:42 #5
Sådan, så ?-)

<form>
<select size="1" name="Dag" onchange="if(this.selectedIndex!=0){showInputs(1);}else{hideInputs()}">
    <option selected value="Vælg dag">Vælg dag</option>
    <option>Mandag</option>
    <option>Tirsdag</option>
    <option>Onsdag</option>
    <option>Torsdag</option>
    <option>Fredag</option>
    <option>Lørdag</option>
    <option>Søndag</option>
  </select>
  <div id="minDiv" style="display:none;"></div>
</form>
<script type="text/javascript">
function hideInputs(){
document.getElementById("minDiv").style.display="none";
}
function showInputs(nr){
var txt = "", s = document.getElementById("minDiv");
alert(s.innerHTML.length);
if(nr==2||s.innerHTML.length>1)txt="<br>";
if(nr==2||s.innerHTML.length==0){
  s.innerHTML += txt+'<input type="text" name="Fra" size="4"><input type="text" name="Til" size="4" onchange="showInputs(2);">';
}
s.style.display = 'block';
}
</script>
Avatar billede serverkudsk Nybegynder
25. januar 2004 - 15:53 #6
næsten, jeg får en fejl i hovedet hver gang jeg klikker på noget. og så skal man kunne vælge dag igen.
Avatar billede roenving Novice
25. januar 2004 - 16:15 #7
Hvilken fejl ?-)

jeg har glemt at udkommentere en alert, så det skal lige gøres:

//alert(s.innerHTML.length);

-- og den muliggør da netop at vælge en ny dag, men skal alle boksene så væk ?o]
Avatar billede serverkudsk Nybegynder
25. januar 2004 - 23:41 #8
jep det hjalp, og den skal ikke blot lave to felter mere, men også gøre sådan at man kan vælge andre dage
Eks:

Nu          Efter

Onsdag      Onsdag
8 - 16      8 - 16
16 - 17      Onsdag
17 - 18      16 - 17
            Onsdag
            17 - 18
Avatar billede roenving Novice
26. januar 2004 - 00:27 #9
Det forstår jeg som noget, du skal gøre server-side !-)

-- men måske har du andre ideer, end jeg har forstået ...

Hvis man ændrer dag undervejs, har jeg set det som en fortrydelse af hvilken dag man har valgt, fordi jeg ser det som umuligt at finde rundt i, om en bruger lige pludseligt vælger en dag og så ændrer, og senere vælger den samme ...
Avatar billede serverkudsk Nybegynder
26. januar 2004 - 10:31 #10
det er til at indtaste et holds træningstider.. (Dette skal skrives ind via hjemmesiden)

http://www.durupswimteam.dk/andre/default.asp?link=hold&step=2

og der kan være træningstider flere træningstider... (dette er skrevet ind i hånden)

http://www.durupswimteam.dk/start.asp?link=treningstider&trening=Nybegynder_Børn&menu=menu_durup&menu_punkt=Nybegynder_Børn
Avatar billede roenving Novice
28. januar 2004 - 07:01 #11
Eneste problem er, at man skal klikke to gange for at skifte dag, men den er nødvendig, hvis man skal kunne vælge flere træningstider på en dag ...

-- hvis ikke der skal kunne være flere tider på en dag bliver et hjørne af koden mere simpel !-)

<form>
<select size="1" name="Dag" onchange="if(this.selectedIndex!=0){showInputs(1,this.value,this.form);}else{hideInputs()}">
    <option selected value="Vælg dag">Vælg dag</option>
    <option value="Mandag">Mandag</option>
    <option value="Tirsdag">Tirsdag</option>
    <option value="Onsdag">Onsdag</option>
    <option value="Torsdag">Torsdag</option>
    <option value="Fredag">Fredag</option>
    <option value="Lørdag">Lørdag</option>
    <option value="Søndag">Søndag</option>
  </select>
  <div id="minDiv" style="display:none;"></div>
</form>
<script type="text/javascript">
function hideInputs(){
document.getElementById("minDiv").style.display="none";
}
function showInputs(nr,dag,f){
var txt = "", s = document.getElementById("minDiv");
if(nr==1){
  var inps = f.Til;
  if(inps){
    if(inps.length&&inps[inps.length-1].value==""||inps.value==""){
      var t = s.innerHTML;
      if(inps.length>1){
        t = t.split("<BR>");
        var v = new Array();
        for(i=0;t.length-1>i;i++)v[i]=t[i];
        if(v.length>1){
          s.innerHTML = v.join("<br>");
        }
        else s.innerHTML = v[0];
      }else s.innerHTML = "";
    }
  }
}
if(nr==2||s.innerHTML.length>1)txt="<br>";
s.innerHTML += txt+dag+': <input type="text" name="Fra" size="4"><input type="text" name="Til" size="4" onchange="showInputs(2,\''+dag+'\');">';
s.style.display = 'block';
}
</script>
Avatar billede serverkudsk Nybegynder
28. januar 2004 - 13:56 #12
Ja, den er ved at være der. Hvis du så skal slette en igen, hvordan kan det gøres, og en anden ting, hvordan lager jeg det i en database (hvilke variabler skal får jeg at arbejde med?)
Avatar billede serverkudsk Nybegynder
28. januar 2004 - 13:59 #13
kan man ikke få den til at sortere det fra A-Å, hvis ikke, er det også lige meget
Avatar billede roenving Novice
28. januar 2004 - 14:35 #14
Mener du sortere dagene ?-)

Umiddelbart er det lidt besværligt, men det var denne øvelse også:

<form>
<select size="1" name="Dag" onchange="if(this.selectedIndex!=0){showInputs(1,this.value,this.form);}else{hideInputs()}">
    <option selected value="Vælg dag">Vælg dag</option>
    <option value="Mandag">Mandag</option>
    <option value="Tirsdag">Tirsdag</option>
    <option value="Onsdag">Onsdag</option>
    <option value="Torsdag">Torsdag</option>
    <option value="Fredag">Fredag</option>
    <option value="Lørdag">Lørdag</option>
    <option value="Søndag">Søndag</option>
  </select>
  <div id="minDiv"></div>
</form>
<script type="text/javascript">
var numInps = 0;
function hideInputs(){
document.getElementById("minDiv").style.display="none";
}
function showInputs(nr,dag,f){
if(nr==1)removeInput(f,'last');
var txt = "", s = document.getElementById("minDiv");
if(nr==2||s.innerHTML.length>1)txt="<br>";
s.innerHTML += txt+dag+': <input type="text" name="Fra" size="4"><input type="text" name="Til" size="4" onchange="showInputs(2,\''+dag+'\');"><button onclick="removeInput(this.form,'+numInps+')">Fjern Tid</button>';
numInps++;
s.style.display = 'block';
}
function removeInput(f,num){
var k=0,s = document.getElementById("minDiv");
  var inps = f.Til;
  if(inps){
    if(inps.length&&inps[inps.length-1].value==""||inps.value==""){
      var t = s.innerHTML;
      if(inps.length>1){
        t = t.split("<BR>");
        var v = new Array();
        if(num!='last')t[num]="";
        else t[t.length-1]="";
        alert(t);
        for(i=0;t.length>i;i++)if(t[i]!="")v[k++]=t[i];
        if(v.length>1){
          s.innerHTML = v.join("<br>");
        }
        else s.innerHTML = v[0];
      }else s.innerHTML = "";
    }
  }
  return;
}
</script>
Avatar billede serverkudsk Nybegynder
29. januar 2004 - 21:19 #15
den skal ikke sortere dagene, men hvorfor kommer der så mange fejl, hver gang man trykker på noget kommer der en fejl, men ellers ser det godt ud
Avatar billede roenving Novice
29. januar 2004 - 21:40 #16
Igen en debug-alert, jeg ikke har fået fjernet ,-(

Når man laver bare en lille smule kompliceret kodning sker det, at det virker, som man ønsker det første gang ...

Det er faktisk lykkedes mig een gang i år !-)

-- men de fleste gange er der nogle ting, du ikke har taget højde for, og debugging i javascript hedder alerts, så dem skal man selvfølgelig huske at fjerne, før det sættes i produktion ...

Linjen: alert(t); skal bare fjernes (eller evt. udkommenteres med // foran)
Avatar billede serverkudsk Nybegynder
12. januar 2005 - 23:43 #17
kom med et svar og du skal få nogle point..
Avatar billede roenving Novice
13. januar 2005 - 13:25 #18
Oki '-)
Avatar billede roenving Novice
14. januar 2005 - 10:23 #19
Tak for point ;~}
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