Avatar billede koldy Nybegynder
16. august 2004 - 22:32 Der er 15 kommentarer og
2 løsninger

Forskellige forme ud fra valg i en select dropdown box

Jeg har en form til at lave menupunkter med, og da jeg har forskellige typer menupunkter tænkte jeg det var smart at man kunne vælge de forskelige typer ud fra en dropdown box, men efter denne dropdown box var det så meningen at de forms der kommer efter skal ændre sig så de kun passer til den type man vælger, men kan ikke rigtig lige se mig ud af hvordan det skal laves..

Altså hvis type 1 vælges skal der være en dropdownbox med forskellige artikler i.
Hvis type 2 vælges skal der være 2 normale textboxe til link og navn på link
Avatar billede pyroman Nybegynder
16. august 2004 - 22:53 #1
Hvad med to div-layers, der enten vises eller skjules...? Tror du det kan bruges? eg kan bare ikke helt 100% forestille mig hvordan det skal se ud...
Avatar billede koldy Nybegynder
16. august 2004 - 23:20 #2
ja havde selv forstillet mig noget i den stil, men kan heller ikke selv se mig ud af hvordan den skal løses..
Avatar billede skovenborg Nybegynder
16. august 2004 - 23:24 #3
det kunne løses ved at skrive:
<script type="text/javascript">
var activeForm;
function changeForm(selVal) {
      if (activeForm) {activeForm.display = "none";}
      activeForm = document.getElementById(selVal).style;
      activeForm.display = "block";
}
</script>
<form>
<select onchange="if (this.selectedIndex > 0) {changeForm(this.value);}">
<option value="">Vælg type</option>
<option value="divForm1">Type 1</option>
<option value="divForm2">Type 2</option>
</select>
</form>

og så kunne du, ligesom pyroman foreslår, have to div-bokse med hver deres form:
<div id="divForm1" style="display:none">
<form>....</form>
</div>
<div id="divForm2" style="display:none">
<form>....</form>
</div>
Avatar billede koldy Nybegynder
17. august 2004 - 03:10 #4
Skovenborg jeg takker, hvis du vil være så venlig at smide et svar, så du kan få dine points ? ;)
Avatar billede koldy Nybegynder
17. august 2004 - 03:31 #5
hov støtte lige ind i et problem, hvis en brugeren skulle komme på den underlige ide, at vælge "vælg type" igen efter at havde valgt en af de andre, så forbliver den formen den som man valgte først, har prøvet at lave om på "vælg type" option'ens value til divForm3 og lavet en div der til, men kom ligelangt?. hvad gør jeg forkert?.
Avatar billede roenving Novice
17. august 2004 - 04:11 #6
Prøv at vise den kode, du har lavet, for der må være en fejl !-)
Avatar billede koldy Nybegynder
17. august 2004 - 04:17 #7
<script type="text/javascript">
var activeForm;
function changeForm(selVal) {
      if (activeForm) {activeForm.display = "none";}
      activeForm = document.getElementById(selVal).style;
      activeForm.display = "block";
}
</script>
<form>
<select onchange="if (this.selectedIndex > 0) {changeForm(this.value);}">
<option value="divForm3">Vælg type</option>
<option value="divForm1">Type 1</option>
<option value="divForm2">Type 2</option>
</select>
</form>


<div id="divForm1" style="display:none">
<form>test1</form>
</div>
<div id="divForm2" style="display:none">
<form>test2</form>
</div>
<div id="divForm3" style="display:none">
<form>test3</form>
</div>
Avatar billede roenving Novice
17. august 2004 - 04:24 #8
Den skifter da præcis mellem de forskellige ...

Gad ikke lige teste i andet end IE6, men såvidt jeg kan se, virker det i alle moderne browsere !-)
Avatar billede koldy Nybegynder
17. august 2004 - 04:29 #9
hvis du skifter over til eks. type 1 og skifter tilbage til vælg type, så skifter den ikke over til at der står test3. iværfald ikke hos mig, køre IE6 og Firefox 0.9.3
Avatar billede roenving Novice
17. august 2004 - 12:17 #10
Nej, for den er lavet sådan, at man aktivt skal vælge, for ellers giver onchange jo ikke mening, så der er sat en 'vælg type' på, så der er en tom option fra start, så onchange altid bliver aktiveret ved et valg ...

Situationen du omtaler er vel nærmest teoretisk, men kan ændres ved at du:

<script type="text/javascript">
var activeForm = document.getElementById("divForm3");
function changeForm(selVal) {
      if (activeForm) {activeForm.display = "none";}
      activeForm = document.getElementById(selVal).style;
      activeForm.display = "block";
}
</script>
<form>
<select onchange="changeForm(this.value);">
<option value="divForm3">Vælg type</option>
<option value="divForm1">Type 1</option>
<option value="divForm2">Type 2</option>
</select>
</form>


<div id="divForm1" style="display:none;">
<form>test1</form>
</div>
<div id="divForm2" style="display:none;">
<form>test2</form>
</div>
<div id="divForm3" style="display:block;">
<form>test3</form>
</div>
Avatar billede skovenborg Nybegynder
17. august 2004 - 17:32 #11
ja, det var netop den tanke jeg havde - at if (this.selectedIndex > 0) skulle forhindre man valgte den "Vælg Type", som bare skulle være en overskrift af en art.

Ved ikke om jeg stadig skal smide svar - men her er et i hvert fald.
Avatar billede koldy Nybegynder
17. august 2004 - 19:59 #12
roenving: yes det virker efter hensigt, hvis du smider et svar også, så deler jeg pointe mellem jer fair?.
Avatar billede koldy Nybegynder
17. august 2004 - 20:01 #13
skovenborg: jo det er også meningne at den skal fungere som en slags overksrift, men hvis nogen skulle få den ide at vælge den efter de har valgt, så vil det give kluder i min database ;) også det var det jo nærmest best at få den ændret der med det samme istedet for at skulle lave noget validering på det. :)
Avatar billede roenving Novice
17. august 2004 - 22:55 #14
Oki, men det er vel skovenborgs koncept, så han skal løbe med langt de fleste af pointene '-)
Avatar billede koldy Nybegynder
17. august 2004 - 22:58 #15
ok så for skovenberg 67 og reonving 33... Fair?.

Jeg takker for hjælpen!
Avatar billede skovenborg Nybegynder
17. august 2004 - 23:01 #16
og tak for points :-)
Avatar billede roenving Novice
17. august 2004 - 23:05 #17
-- også tak herfra !-)
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

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