Avatar billede ch007 Nybegynder
10. januar 2004 - 16:50 Der er 12 kommentarer og
1 løsning

Efter valg af fx drop down sker der noget

Først vil jeg sige at dette spørgsmål muligvis er i den forkerte kategori... Jeg ved det ikke - må er det JavaScript eller?

På nogle sider kan man vælge i en drop down eller en anden input fx af typen radio. Og når valgt er fortaget sker der noget andet, med det samme.

Eks 1:
På B-one's admin side kan man vælge at videre sende mails: Når man klikker vidersend af, kommer der pludselig et textbox hvor man kan angive en ny email.

Eks 2:
På hotmail (mener det er ved oprettelsen) vælger man sprog. Vælger man dansk forsvinder boxen med zip-code osv da det ikke er på samme måde i dk...

Håber I forstår og kan hjælpe mig med en sådan kode...
Avatar billede roenving Novice
10. januar 2004 - 16:58 #1
Eksempel:

Dansk <input type="radio" name="sprog" value="dansk" onclick="if(this.checked)document.getElementById('zipCode').style.display='none';"><br><br>

<span id="zipCode" style="display:inline;"><input type="text" name="zip"></span>
Avatar billede ch007 Nybegynder
10. januar 2004 - 17:07 #2
Yes - Det virker - nu forsvinder der i hvert fald noget... Hvordan får jeg den så til at tilføje en linie eller mere?

Noget med display='show/yes' i onclick og så måske none i næste kode???

Jeg er ikke så meget inde i det her onclick og span...
Avatar billede ch007 Nybegynder
10. januar 2004 - 17:08 #3
Det kunne jo fx være sådan at det var en radio til dansk og svensk. Nedenunder kommer der en tekst med beskeden: Du har valgt dansk  ... / eller: Du har valgt svensk
Avatar billede roenving Novice
10. januar 2004 - 17:14 #4
Ja, f.eks., men det display:inline|block|none, så f.eks.

<select onchange="document.getElementById(this.value).style.display='inline';">
  <option value="">-- Vælg sprog --</option>
  <option value="dansk">Dansk</option>
  <option value="svensk">Svensk</option>
</select>
<br><br>
<span id="dansk" style="display:none;">Dansk er valgt som sprog</span>
<span id="svensk" style="display:none;">Dansk er valgt som sprog</span>

Dette er et hurtigt eksempel, da man selvfølgelig skal lave en funktion, som sikrer at to forskellige spans ikke kan vises ...

-- og lige for også at illustrere selects !-)

inline er propertyen for inline-elementer, som f.eks. spans, mens block er den til block-level-elementer, som divs, tables o.l.
Avatar billede ch007 Nybegynder
10. januar 2004 - 17:30 #5
<select onchange="document.getElementById(this.value).style.display='inline';">
  <option value="">-- Vælg sprog --</option>
  <option value="dansk" onclick="if(this.checked)document.getElementById('svensk').style.display='none';">Dansk</option>
  <option value="svensk" onclick="if(this.checked)document.getElementById('dansk').style.display='none';">Svensk</option>
</select>
<br><br>
<span id="dansk" style="display:none;">Dansk er valgt som sprog</span>
<span id="svensk" style="display:none;">Svensk er valgt som sprog</span>

Jeg prøvede at ændre koden lidt - det virkede ikke.

Din kode virker fint - problemet er blot at hvis jeg vælger dansk, står der: Dansk er valgt som sprog.

Men vælger jeg så om står der:
Dansk er valgt som sprog. Svensk er valgt som sprog...

Altså den første forsvinder ikke...
Avatar billede roenving Novice
10. januar 2004 - 17:44 #6
onclick virker ikke på options, så du skal ud i en egentlig funktion !-)

f.eks.:

<script type="text/javascript">
function visSprog(sel){
s = document.getElementsByTagName('SPAN');
for(i=0;s.length>i;i++){
  if(s[i].className=="sprog")s[i].style.display='none';
}
document.getElementById(sel.value).style.display='inline';
}
</script>

<select onchange="visSprog(this)">
  <option value="">-- Vælg sprog --</option>
  <option value="dansk">Dansk</option>
  <option value="svensk">Svensk</option>
</select>
<br><br>
<span id="dansk" class="sprog" style="display:none;">Dansk er valgt som sprog</span>
<span id="svensk" class="sprog" style="display:none;">Svensk er valgt som sprog</span>
Avatar billede roenving Novice
10. januar 2004 - 17:46 #7
-- og så en lille sikkerhedsforanstaltning:

<script type="text/javascript">
function visSprog(sel){
s = document.getElementsByTagName('SPAN');
for(i=0;s.length>i;i++){
  if(s[i].className=="sprog")s[i].style.display='none';
}
if(sel.value!="")document.getElementById(sel.value).style.display='inline';
}
</script>
Avatar billede ch007 Nybegynder
11. januar 2004 - 11:07 #8
Det virker perfekt! Gider du smide et svar?

Denne lille sikkerhedsforanstaltning... Hvad skal den gøre?
Hvis man ikke vælger dansk/svensk? Det virker ihvertfald uden den...
Avatar billede roenving Novice
11. januar 2004 - 23:15 #9
Sikkerhedsforanstaltningen skulle gerne forhindre dig i at få fejlmeldingen:

'document.getElementById(...).style is null or not an object'

-- og velbekomme '-)
Avatar billede ch007 Nybegynder
14. januar 2004 - 12:50 #10
Tak!
Avatar billede ch007 Nybegynder
14. januar 2004 - 12:50 #11
Okay? Jeg vil acceptere dit svar - men kan ikke??? Der er lige noget galt med Eksperten, tror jeg?
Avatar billede ch007 Nybegynder
20. januar 2004 - 00:52 #12
Hmm, jeg kan stadig ikke acceptere dit svar ?!?
Avatar billede roenving Novice
20. januar 2004 - 00:58 #13
Prøv at trykke på brugernavnet i list-boxen først !-)
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