Avatar billede nicholas- Nybegynder
01. oktober 2007 - 17:18 Der er 5 kommentarer og
1 løsning

Vis value fra input field real time

Hej

Har et send til ven script. Ved siden af scriptet vises hvordan emailen vil se ud når den sendes. Der står bare hej "modtagernavn". Tjek: link. "din besked". hilsen "dit navn"

Men tænkte på om man kunne få disse værdier udskiftet direkte når man skriver i input field. Så hvis hvis man i modtagernavn skrev "kasper" så der hvor der vises hvordan emailen vil se ud, skiftes modtagernavn ud med kasper.
Avatar billede nielle Nybegynder
01. oktober 2007 - 19:25 #1
Noget i denne stil?

<body onKeyUp="updateMail();">

<script type="text/javascript">
function updateMail() {
    mailText = "Hej '[modtagernavn]'.<br><br>Tjek: link.<br><br>'[dinBesked]'.<br><br>Hilsen '[ditNavn]'";

    modtagernavn = document.getElementById("modtagernavnId").value;   
    mailText = mailText.replace("[modtagernavn]", modtagernavn);

    dinBesked = document.getElementById("dinBeskedId").value;
    mailText = mailText.replace("[dinBesked]", dinBesked);

    ditNavn = document.getElementById("ditNavnId").value;   
    mailText = mailText.replace("[ditNavn]", ditNavn);

    mailDiv = document.getElementById("mailTextId");
    mailDiv.innerHTML = mailText;
}
</script>

<form method="post" action="xxx">
<input type="input" id="modtagernavnId" name="modtagernavn"><br>
<textarea id="dinBeskedId" name="dinBesked"></textarea><br>
<input type="input" id="ditNavnId" name="ditNavn"><br>
</form>

<div id="mailTextId">
</div>
Avatar billede nicholas- Nybegynder
01. oktober 2007 - 20:38 #2
Uhhh helt perfekt.. Det var lige det jeg tænkte på ;) Tak!

Kan man få teksten til at stå der fra start af, fordi ligenu kommer den først frem når det første bogstav tastes.
Avatar billede nielle Nybegynder
01. oktober 2007 - 22:19 #3
Ja da, det er jo bare et spørgsmål om at skrive start-teksten i:

<div id="mailTextId">
start-tekst her
</div>

Du kan også sætte nogle default-værdier på dine input/textarea-felter.
Avatar billede nicholas- Nybegynder
03. oktober 2007 - 01:18 #4
Det er jo også klart nok .. mig som ikke lige tænker mig om..

Men mange tak for hjælpen. Det virker perfekt. Point?
Avatar billede nielle Nybegynder
03. oktober 2007 - 06:53 #5
Svar :^)
Avatar billede roenving Novice
03. oktober 2007 - 15:30 #6
-- men det kan også sagtens laves med fuld DOM-kompatibel kode:

<script type="text/javascript">
function setValue(elm,id){
  document.getElementById(id).firstChild.nodeValue=elm.value;
}
</script>

<form method="post" action="xxx">
<input type="input" id="modtagernavnId" name="modtagernavn" onkeyup="setValue(this,'mNavn');"><br>
<textarea id="dinBeskedId" name="dinBesked" onkeyup="setValue(this,'besked');"></textarea><br>
<input type="input" id="ditNavnId" name="ditNavn" onkeyup="setValue(this,'navn');"><br>
</form>

<div id="mailTextId">
Hej <span id="mNavn">&nbsp;</span>
<br><br>
Tjek: link.
<br><br>
<span id="besked">&nbsp;</span>
<br><br>
Hilsen <span id="navn">&nbsp;</span>
</div>



-- tjah, da vi stadig mangler Xforms, må vi for at være sikre bruge .value, getAttribute vil afhængig af miljø nogen gange returnere defaultValue, og det er jo absolut uinteressant !-)
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