Avatar billede goose Nybegynder
03. maj 2006 - 10:36 Der er 9 kommentarer og
1 løsning

onchange på dropdown skal synliggøre text-felt

Jeg har en formular der bl.a. indeholder en dropdown boks med 4 valgmuligheder:

<SELECT SIZE="1" NAME="type_art" class="tekstfelt">
    <OPTION value="1">Valg 1</OPTION>
    <OPTION value="2">Valg 2</OPTION>
    <OPTION value="3">Valg 3</OPTION>
    <OPTION value="4">Valg 4</OPTION>
    <OPTION value="5">Valg 5</OPTION>
</SELECT>

Det er sådan, at hvis man vælger "Valg 5", så skal der dukke endnu et tekst felt op i formularen hvori man skal beskrive nærmere. Hvis man vælger noget andet skal det pågældende tekst felt ikke vises

Hvordan løser jeg dette?

/Goose
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 11:03 #1
<SELECT SIZE="1" NAME="type_art" class="tekstfelt" onChange="showhide(this);">
    <OPTION value="1">Valg 1</OPTION>
    <OPTION value="2">Valg 2</OPTION>
    <OPTION value="3">Valg 3</OPTION>
    <OPTION value="4">Valg 4</OPTION>
    <OPTION value="5">Valg 5</OPTION>
</SELECT>


<script language="javascript">
function showhide(objSelect){
  if (objSelect.selectedIndex == 4){
    document.getElementById("Feltnavn").style.display = "block";
  }else{
    document.getElementById("Feltnavn").style.display = "none";
    }
  }

</script>

Det er ikke helt crossbrowser ...
Avatar billede goose Nybegynder
03. maj 2006 - 11:08 #2
Det skulle helst være crossbrowser ......

/Goose
Avatar billede psykochicken Nybegynder
03. maj 2006 - 11:45 #3
Idanielsen >> Hvis man ser bort fra <script type="text/javascript"...hvilken del er så ikke crossbrowser ??

/psc
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 14:28 #4
document.getElementById("Feltnavn").style.display = "block";

skal være

document.getElementById("Feltnavn").display = "block";

i netscape, tror jeg nok ...
Avatar billede psykochicken Nybegynder
03. maj 2006 - 15:16 #5
Du har ret - i netscape4.0 ;o)

...men på f.eks. http://www.w3schools.com/browsers/browsers_stats.asp har N4 ikke figureret på browserstatistikken de sidste 2 år, så mon ikke det går an at bruge scriptet?

/psc
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 16:34 #6
Jeg bruger meget lidt tid på at tænke crossbrowser, hvilket andre eksperter herinde synes er forkert.

Så et simpelt "Kan du lave dette crossbrowser" til 30 point skulle klare det på få minutter :o)
Avatar billede goose Nybegynder
03. maj 2006 - 22:28 #7
Idanielsen >> Jeg kan altså ikke få det til at virke, jeg syntes ikke der sker en disse?

http://www.goose.dk/drop.htm

/Goose
Avatar billede psykochicken Nybegynder
03. maj 2006 - 22:51 #8
Enten skal du give din input et id:
<input type="text" size="23" id="andet" style="display:none;"> og erstatte:
document.getElementById("andet").display =
med
document.getElementById("andet").style.display =

eller beholde:
<input type="text" size="23" name="andet" style="display:none;"> og erstatte:
document.getElementById("andet").display = 
med
objSelect.form.andet.style.display =

/psc
Avatar billede ldanielsen Nybegynder
04. maj 2006 - 09:23 #9
psykochicken har ret, dette virker:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<form action="test.asp?action=send" method="post" onSubmit="return tjek_bestilling();">

<SELECT SIZE="1" NAME="type_art" class="tekstfelt" onChange="showhide(this);">
    <OPTION value="1">Valg 1</OPTION>
    <OPTION value="2">Valg 2</OPTION>
    <OPTION value="3">Valg 3</OPTION>
    <OPTION value="4">Valg 4</OPTION>
    <OPTION value="5">Valg 5</OPTION>
</SELECT>

<input type="text" size="23" name="andet" id="andet">

<script language="javascript">
function showhide(objSelect){
  if (objSelect.selectedIndex == 4){
    document.getElementById("andet").style.display = "block";
  }else{
    document.getElementById("andet").style.display = "none";
    }
  }

</script>
<input type="submit" name="Send">
</form>



</body>
</html>
Avatar billede goose Nybegynder
04. maj 2006 - 09:27 #10
Ja tak, så lykkedes det :o)

/Goose
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