Avatar billede jokeren25 Nybegynder
16. november 2006 - 09:21 Der er 5 kommentarer og
1 løsning

Dynamisk form

Hej experter,

Jeg har det problem at jeg gerne vil have oprettet et ekstra textfelt når en bruger vælger noget fra en pickliste. Når en bruger f.eks. har valgt 'produkt 1' skal den lave et textfelt med hvor den udskriver tilbehør til et produkt.

Min forløbige kode ser således ud:

Er der nogen der kan hjælpe mig med at skrive dette færdigt da java ikke er min stærke side?


<div id="product_info" style="display:none;"></div>
<script type="text/javascript">

function show(value)

// udskriv tilbehør 1
if (this.value = produkt_1) {
  document.getElementById('product_info').style.display = "block";
  document.getElementById('product_info').innerHTML = "Udskriv tilbehør 01 i en textbox";
}

if (this.value = produkt_2) { --> udskriv tilbehør 2
  document.getElementById('product_info').style.display = "block";
  document.getElementById('product_info').innerHTML = "Udskriv tilbehør 02 i en textbox";
}

</script>


<select input type="text" name="image" onchange="show(this.value)";><option>---Vælg produkt---</option>';

<option value="produkt_1">Produkt 1</option>
<option value="produkt_2">Produkt 2</option>

</select>
Avatar billede psykochicken Nybegynder
16. november 2006 - 14:39 #1
noget i stil med:

<div id="product_info" style="display:none;">&nbsp;</div>
<script type="text/javascript">

function show(sel) {

var mytxt = new Array();
mytxt[0] = "";
mytxt[1] = "Udskriv tilbehør 01 i en textbox";
mytxt[2] = "Udskriv tilbehør 02 i en textbox";

var elm = sel.options;
var target = document.getElementById('product_info');
  for(i=0,elmlen=elm.length;i<elmlen;i++){
    if(elm[0].selected){
      target.style.display = "none";
    }
    else if(elm[i].selected){
      target.style.display = "block";
      target.firstChild.nodeValue = mytxt[i];
    }
  }
}
</script>

<form name="formnavn">
<select onchange="show(this)">
<option>---Vælg produkt---</option>
<option value="produkt_1">Produkt 1</option>
<option value="produkt_2">Produkt 2</option>
</select>
</form>

/psc
Avatar billede jokeren25 Nybegynder
16. november 2006 - 15:26 #2
Tusind tak for hjælpen, men hvordan får jeg det jeg udskriver til at være inner html?

Svar og der er point.
Avatar billede psykochicken Nybegynder
16. november 2006 - 15:41 #3
mener du noget ala:

<div id="product_info" style="display:none;">&nbsp;</div>
<script type="text/javascript">

function show(sel) {

var mytxt = new Array();
mytxt[0] = "";
mytxt[1] = "Udskriv tilbehør <br> 01 i en textbox <br><img src='etbillede.jpg'>";
mytxt[2] = "Udskriv tilbehør <br> 02 i en textbox";

var elm = sel.options;
var target = document.getElementById('product_info');
  for(i=0,elmlen=elm.length;i<elmlen;i++){
    if(elm[0].selected){
      target.style.display = "none";
    }
    else if(elm[i].selected){
      target.style.display = "block";
      target.innerHTML = mytxt[i];
    }
  }
}
</script>

<form name="formnavn">
<select onchange="show(this)">
<option>---Vælg produkt---</option>
<option value="produkt_1">Produkt 1</option>
<option value="produkt_2">Produkt 2</option>
</select>
</form>

/psc
Avatar billede jokeren25 Nybegynder
16. november 2006 - 15:48 #4
Præcist, takker mange gange! Svar og der er point.
Avatar billede psykochicken Nybegynder
16. november 2006 - 15:50 #5
Velbekomme ;o)
Avatar billede psykochicken Nybegynder
16. november 2006 - 15:52 #6
..og tak for point ;o)
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