Avatar billede hansons Nybegynder
13. maj 2003 - 14:05 Der er 4 kommentarer og
1 løsning

copy / paste script

//Jeg har en site hvor der for "brugervenlighedens" skyld skal oprettes et java script eller en metode hvor man via en "knap" tager en kopi af et tekst felt og igen via´en "knap" indsætter indholdet i et andet felt.
Felterne som der skal indsættes i er oprettet i en form der skal lave en post til en database.
Fordi der er ca. 50 forskellige felter i denne form vil jeg gerne have eks. 50 forskellige "knapper/scripts" så brugeren kun skal trykke ved siden af feltet for at indsætte hukommelsen.

//Jeg har fundet frem til følgende metode når der skal tages et kopi:


<script language="Javascript">
<!--
var copytoclip=1
function HighlightAll(theField) {
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
if (document.all&&copytoclip==1){
therange=tempval.createTextRange()
therange.execCommand("Copy")
window.status="Contents highlighted and copied to clipboard!"
setTimeout("window.status=''",1800)
}
}
//-->

//ved siden af feltet har jeg oprettet følgende link, hvor
test er formen og Personell_number er feltet:

java script:HighlightAll('test.Personell_number')

//Dette script fungerer fint der bliver taget et kopi af feltet.

//Jeg har også lave et indsæt/paste script der fungerer fint som følger:

<script language="Javascript">
<!--

var pastetofield=1

function PasteAll(theField) {
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
if (document.all&&pastetofield==1){
therange=tempval.createTextRange()
therange.execCommand("Paste")
window.status="Contents inserted to field and highlighted!"
setTimeout("window.status=''",1800)
}
}
//-->

//ved siden af feltet har jeg oprettet følgende link, hvor
test er formen og firstname er feltet:

java script:HighlightAll('test.firstname)
//Dette script fungerer fint indholdet af hukommelsen bliver indsat i feltet.

Her er så det der driller:
Felterne (de 50) i indsæt/paste formen hedder eks.:
date::balder_1_2.5

så scriptet ville hedde:
java script:HighlightAll('test.date::balder_1_2.5)

Hvad gør jeg galt ? er der formange dots eller hva.

på forhånd tak

jan Hanson
timesolution.dk
Avatar billede Slettet bruger
13. maj 2003 - 15:45 #1
Det, der er galt, er simpelthen, at dine felter har navne, som bryder med standarderne! Det bedste ville være, hvis du kunne kalde dine felter noget lignende: "balder1_2_5"

Men hvis det er helt umuligt, kan du prøve at udskifte denne linje (optræder to steder):

var tempval=eval("document."+theField)

... med:

var tempval=document.formNavn.elements[theField];

Og så putte alle tekstfelterne ind i en form ved navn "formNavn".
Avatar billede hansons Nybegynder
13. maj 2003 - 16:19 #2
Tak for dit svar - ÆV - det virker desværre ikke.
Efter at have fjernet . og :: virker det.Men det kan jeg bare ikke da databasen er afhængig af disse tegn.

Andre forslag ?
Avatar billede Slettet bruger
14. maj 2003 - 15:14 #3
Hm, nu har du jo lukket spørgsmålet, men prøv at smide et link i stedet.
Avatar billede hanson Nybegynder
15. maj 2003 - 13:18 #4
Så er jeg tilbage...Er stadigvæk huk på en anden løsningsmodel.
Er ved at få styr på det med åbne og lukke spørgsmål !
Avatar billede Slettet bruger
18. maj 2003 - 10:50 #5
Smid lige et link.
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