Avatar billede crapman Nybegynder
17. december 2003 - 08:29 Der er 8 kommentarer og
1 løsning

<select> som ændrer indhold i textfelt

Hejsa,
Jeg har en selectbox, som skal have en funktion der gør, at når man ændrer indholdet i den, skal den ændre indholdet i et tekstfelt, men uden at slette det hele.

Eks:
<select> indeholder information om hvilket domæne en e-mailadresse skal oprettes på. Vælger man hej.dk, skal den ændre indholdet af address, som er et tekstfelt, men den skal selvfølgelig KUN ændre det der står bagefter @ i den adresse der nu er indtastet.

I starten vil der intet stå i address feltet, så her skal den jo bare stå tom, indtil man vælger et domæne i select'en.. nu skal den så ændre indholdet til "@hej.dk" hvis man har valgt "hej.dk" i selecten.

Derefter skal brugeren kunne indtaste noget foran "@hej.dk" og senere kunne gå op og vælge et nyt domæne, men uden at det der står foran @'et bliver ændret...

Hvem kan lave det???
Avatar billede nikolajdu Nybegynder
17. december 2003 - 08:49 #1
Sårn i den her dur?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
<script>

function skift(v){
    if(document.f.t.value.indexOf("@")!=-1){
    s = document.f.t.value.split("@");
    document.f.t.value = s[0]+"@"+v;
    }else{
    document.f.s.options[0].selected = true;
    alert ("intet @");
    }
}

</script>
</head>

<body>

<form name="f">
<select name="s" onchange="if(this.options[this.selectedIndex].value!='Vælg'){skift(this.options[this.selectedIndex].value)}">
<option name="o0" value="Vælg">Vælg</option>
<option name="o1" value="hej.dk">hej.dk</option>
<option name="o1" value="du.dk">du.dk</option>
</select>
<input type="text" name="t" value="">
</form>


</body>
</html>
Avatar billede roenving Novice
17. december 2003 - 08:51 #2
Eller sådan:

<script language="javascript" type="text/javascript">
function skiftDomaine(sel){
  if(sel.value.length==0)return;
  var fld = sel.form.address;
  var at = fld.value.indexOf("@");
  if(fld.value.length=0)fld.value = "@" + sel.value;
  else if(0>at)fld.value += "@" + sel.value;
  else fld.value = fld.value.substring(0,at+1) + sel.value
}
</script>

<form id="minForm" name="minForm">
<input id="address" name="address" type="text" value="" size="40">
<br>
<select name="minSelect" id="minSelect" onchange="skiftDomaine(this)">
    <option value="">-- Skift domæne --<br>
    <option value="dr.dk">dr.dk<br>
    <option value="eksperten.dk">eksperten.dk<br>
    <option value="mail.tele.dk">mail.tele.dk<br>
</select>
</form>
Avatar billede crapman Nybegynder
17. december 2003 - 10:01 #3
YAY! Roenving smid mig et svar
Avatar billede roenving Novice
17. december 2003 - 10:04 #4
Velbekomme '-)
Avatar billede roenving Novice
17. december 2003 - 10:07 #5
-- og tak for points ;~}
Avatar billede nikolajdu Nybegynder
17. december 2003 - 10:08 #6
Det giver da slet ingen mening at lave det så omstændigt. Magen til humbug.... HRMPF!!!!
Avatar billede crapman Nybegynder
17. december 2003 - 10:09 #7
Nikolajdu, hvis du spørger mig, virker dit indlæg altså mest omstændigt
Avatar billede crapman Nybegynder
17. december 2003 - 10:11 #8
Ehh Roenving... jeg har lige et lille tillægsspørgsmål... Jeg har et felt der hedder brugernavn, som er readonly... Det skal ALTID være magen til address feltet... hvordan gør jeg det nemmest?? Lige nu har jeg en onChange="this.form.id.value = this.form.address.value;" på addressfeltet, men når jeg så skifter domæne med det script du lavede, skifter brugernavn (id) feltet ikke med
Avatar billede roenving Novice
17. december 2003 - 10:20 #9
Så skal du bare tilføje

  sel.form.brugernavn.value = fld.value

sidst i scriptet !-)

>>nikolaj

-- såvidt jeg kan se, kan noget af grunden være, at du ikke gjorde det færdigt !-)

For hvor er funktionen, som tilføjer at-tegnet, når det ikke er der i forvejen ?-)
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