Avatar billede krummel Juniormester
05. april 2008 - 21:44 Der er 5 kommentarer og
1 løsning

data fra knap til textbox

Jeg har en række knapper med noget tekst. Når jeg klikker på en knap vil jeg gerne have noget tekst, der er tilknyttet knappen fra database, automatisk kopieres over i en tekstbox i en form.

Jeg har set det i diverse forums

Hvordan kopieres teksten over?
Avatar billede w13 Novice
05. april 2008 - 23:13 #1
Kan du hente alle knappernes data, som skal kopieres over, når siden loades?

<p><textarea id="text"></textarea>

<button onclick="document.getElementById('text').value=document.getElementById('knap1').firstChild.nodeValue">knap1</button>
<div id="knap1" style="display:none">tekst1</div>

<button onclick="document.getElementById('text').value=document.getElementById('knap2').firstChild.nodeValue">knap2</button>
<div id="knap2" style="display:none">tekst2</div>
Avatar billede krummel Juniormester
06. april 2008 - 10:42 #2
Ja.  Jeg henter data fra database når siden loades.

Dit eksempel virker delvis efter hensigten. Men data fra knapperne må ikke overskrive eksisterende data i textarea - den skal tilføjes fx hvor cursoren er.
Avatar billede w13 Novice
06. april 2008 - 11:27 #3
Den skal tilføjes hvor cursoren er og ikke bare i bunden af teksten?

Det har jeg umiddelbart ingen kode til desværre.
Avatar billede krummel Juniormester
06. april 2008 - 11:38 #4
Hej,

det optimale vil være der hvor cursoren er, men i bunden kan også gå an, hvis det andet ikke kan lade sig gøre.

Jeg fandt et andet eksempel som alternativ til din fremgangsmåde her
http://www.mediacollege.com/internet/javascript/form/add-text.html

Jeg vil lige lege lidt med dit eksempel og det andet jeg fandt.

Tak for hjælpen
Avatar billede w13 Novice
06. april 2008 - 11:41 #5
Hvis du retter:
document.getElementById('text').value=
til:
document.getElementById('text').value+=
begge steder, burde det blive tilføjet i bunden.
Avatar billede roenving Novice
06. april 2008 - 14:11 #6
-- og til indsættelse på et bestemt sted kan du kigge på skovenborgs insertText: http://www.eksperten.dk/spm/493088

Hrm, hans hjemmeside virker ikke (om den er flyttet eller det bare er frac og 1go, der ikke virker, ved jeg så desværre ikke !-)

-- men en _meget_ kortere kode kan opnås med en funktion:

function insertData(elm){
  //her i den rå udgave, siden jeg ikke kunne få fat i skovenborgs script, se selv i den pågældende tråd !-)
  document.getElementById('text').value += elm.nextSibling.firstChild.nodeValue;
}

<button onclick="insertData(this);return false;">knap1</button>
<div id="knap1" style="display:none">tekst1</div>
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