Avatar billede staf Nybegynder
06. juli 2007 - 10:40 Der er 5 kommentarer og
1 løsning

Dynamisk text input. Select til textlabel

Hejsa,
jeg har en formular hvor brugerne bla. skal vælge deres navn i en dropdown menu. Herefter skal de så skrive deres Mail i et textfelt. Jeg vil gerne lave det sådan at et navn i selectboksen er knyttet til en E-mail, således at den pågældende persons mail automatisk kommer frem i textfeltet ved valg af navnet. Dvs. det er ikke værdien fra selecten jeg vil sende videre, men noget der sættes lig den.

Det skal bare være javascript da siden ikke skal reloade for at hente en mail.

Hvorledes gøres det ?

På forhånd tak
Avatar billede montago Praktikant
06. juli 2007 - 13:02 #1
<select onChange="Func(this)">
  <option value="ma@il.dk">Martin</option>
</select>
<input type="text" id="txt">

<script>
function Func(sel){
  document.getelementById("txt").value = sel.options[sel.selectedIndex].value
}
</script>
Avatar billede staf Nybegynder
06. juli 2007 - 13:56 #2
Hej montago,
umiddelbart virker det ikke efter hensigten.
Når jeg vælger et navn i min select skal denne persons E-mail automatisk dukke op i textfeltet nedenfor. Value`en i selecten skal stadig kun være navnet.

Kunne du evt. lige uddybe/forklare dit script lidt nærmere
Avatar billede olebole Juniormester
06. juli 2007 - 14:24 #3
<ole>

Hvormange brugere handler det om? Hvis det er mange, kunne det måske bedre betale sig at bruge AJAX ... men det er ikke til at sige, når vi ikke ved mere  =)

/mvh
</bole>
Avatar billede montago Praktikant
06. juli 2007 - 14:39 #4
value på options er navnet nu
title bruges til at indeholde email valuen, som derfor ikke bliver supmittet

scriptet gør hvad du spørger om... umidlbart ultra simpelt ?


<select onChange="Func(this)">
  <option value="Martin" title="Min@Mail.dk">Martin</option>
</select>
<input type="text" id="txt">

<script>
function Func(sel){
  document.getelementById("txt").value = sel.options[sel.selectedIndex].title
}
</script>
Avatar billede montago Praktikant
06. juli 2007 - 14:42 #5
lille fejl rettet :


<script>
function Func(sel){
var t = sel.options[sel.selectedIndex].title
  document.getElementById("txt").value = t
}
</script>

<select onChange="Func(this)">
  <option></option>
  <option value="Martin" title="Min@Mail.dk">Martin</option>
</select>

<input type="text" id="txt">
Avatar billede staf Nybegynder
06. juli 2007 - 15:18 #6
Jep, ganske nøjagtigt. Skulle bare lige tilføje nogle flere <option> for at se at det virker.
Ganske simpelt....Jooeee, men hvad er ikke det når man kan?! ;-)

Point til dig!
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