Avatar billede kresten112 Nybegynder
08. januar 2005 - 19:52 Der er 7 kommentarer og
1 løsning

Gengivelse af input-felt andet sted på en side

Kan jeg skrive i et inputfelt, fx:

  <input type="text" size="90" name="test" id="test">

og se teksten gengivet et andet sted på samme side med det samme, fx med funktion (aner ikke om den er rigtig):

<script language="JavaScript">
var type = document.getElementById("test").value;
var str = "<a href='" + type + "'>Test</a>"
document.write (str)
</script>

Altså, i det samme jeg skrive teksten i inputfeltet bliver den også skrevet andet steds på en side.

Er det muligt? ...og hvordan?
Avatar billede softspot Forsker
08. januar 2005 - 20:48 #1
Du kunne f.eks. gøre sådan her (kun testet i IE 6.0, men du kan jo selv lige prøve i andre browsere - selvom jeg er skeptisk :)). Med denne script kan du endda lave HTML-formattering af den tekst du indtaster...

<html>
    <head>
        <title>Test input</title>
        <script language="javascript">
            function transferText(obj)
            {
                if(obj)
                    document.getElementById("shadowText").innerHTML = document.getElementById("inputText").value;
            }
        </script>
    </head>
    <body>
        <form id="frm" name="frm" action="" method="post">
            <input type="text" id="inputText" name="inputText" value="" onkeyup="transferText(this)" />
        </form>
        <div id="shadowText"></div>
    </body>
</html>
Avatar billede kresten112 Nybegynder
08. januar 2005 - 23:16 #2
Hej softspot

Det virker meget fint, og helt efter hensigten, pånær at scriptet ikke reagerer på BackSpace-tasten.

Noget bud på hvorfor?

Hilsen
Kresten
Avatar billede softspot Forsker
08. januar 2005 - 23:31 #3
Du skal muligvis benytte onkeypress i stedet for onkeyup...
Avatar billede thomas_yde Nybegynder
09. januar 2005 - 00:54 #4
onkeydown="transferText(this);" onkeyup="transferText(this);"
Avatar billede softspot Forsker
09. januar 2005 - 01:02 #5
hmmm... det kode jeg satte ind i første omgang fungerer også med backspace i min browser (IE 6.0)... altså den med onkeyup.

kresten112 > Benytter du en anden browser (type eller version)?
Avatar billede softspot Forsker
09. januar 2005 - 01:07 #6
Faktisk fungerer det også som jeg ville forvente i Oprah 7.54, Mozilla 1.7, Netscape 7.2 og Mozilla Firefox :)

Indrømmet - der er da en lille forsinkelse i opdateringen, men det bliver gjort...
Avatar billede kresten112 Nybegynder
09. januar 2005 - 03:48 #7
Hej thomas & softspot

Jeg har IE 6.0, men hvis jeg brugte onkeypress var det Del-tasten, der ikke virkede.

Løsning var at bruge to event-handlers, lidt a la hvad thomas foreslog: onkeypress="transferText(this);" onkeyup="transferText(this);". Så virker hele skidtet - både Del og Backspace!

Hvad siger I til at lægger et svar begge to og dele porten?

Hilsen
Kresten
Avatar billede softspot Forsker
09. januar 2005 - 10:18 #8
Helt fint med mig :) Godt du fandt en løsning...
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