Avatar billede loss Nybegynder
20. marts 2003 - 15:26 Der er 9 kommentarer og
2 løsninger

removeFormat() ved copy paste

Hejsa..

Er det muligt på en måde at fjerne formatering når ens brugere copy/paster noget text fra fx. word. formateringen skulle gerne fjernes når de paster teksten i editoren.

Jeg benytter nu en funktioner der fjerner formatering ved et tryk på en knap, men det er just ikke optimalt..

function page_unformat(){
document.execCommand("RemoveFormat");
editor.focus();
}

nogen der kan hjælpe ?

på forhånd tak

//loss
Avatar billede grunken Nybegynder
20. marts 2003 - 15:37 #1
kan du ikke bare køre den i tekstfeltet ?

<TEXTAREA NAME="besked" onkeyup="page_unformat();"

-grunken
Avatar billede loss Nybegynder
20. marts 2003 - 15:39 #2
Det skal kun være ved når folk de paster noget ved at bruge Ctrl - p eller en paste knap, man kunne forestille sig at de havde noget i editoren der var formaret med bold/kursiv whatever i forvejen, og det skulle der ikke pilles ved..

forklare jeg mig ordentligt ?
Avatar billede grunken Nybegynder
20. marts 2003 - 15:45 #3
aha :) nu er jeg med, nu forstår selv jeg :)
Avatar billede pelkjaer Nybegynder
21. marts 2003 - 09:04 #4
Lad os antage at du har en iframe/div der hedder idContent
Vi antager også at du har en clean funktion der hedder fx.

function page_udformat() {
  ....
}

Så kan kan du her angive hvad og hvornår der skal "cleanes", og med hvad og hvordan.

function pasteFromWord() {
  idContent.focus()
  var oSel = document.selection.createRange()
    if(oSel.parentElement)    {
      //evt. kun paste
      idContent.document.execCommand("SelectAll")
      idContent.document.execCommand("Paste")
      oSel.pasteHTML(page_unformat())
    }
}
Avatar billede loss Nybegynder
21. marts 2003 - 09:25 #5
den sletter indholdet fra div tagget og skriver "Undefined". så et eller andet må der jo gå galt :)

Kan man ikke på en måde benytte getData og få adgang til sit clipart og fjerne formatering her, og så skrive resultatet tilbage.. ala

test = event.dataTransfer.getData("Text");

removeFormat(test)

event.dataTransfer.setData("Text", test);

ved godt at det ikke lige fungere sådan, men mon ikke man kan lave det på en eller anden måde ?
Avatar billede pelkjaer Nybegynder
21. marts 2003 - 09:27 #6
Det tror jeg ikke at du kan.

Hvad der går galt med ovenstående er jo svært at sige, selve funktionen fejler ikke noget.
Avatar billede loss Nybegynder
21. marts 2003 - 09:39 #7
Jeg prøver lige at pille lidt ved din funktion, ser ud til at jeg (med lidt modifikationer) kan få den til fjerne formateringen fra alt, når man paster noget.. altså både det man paster, men osse det der er der i forvejen.. kan man få den til at nøjedes med det man paster ?

kan man på en eller anden måde få funktionen til at omfatte Ctrl - v shortcuttet, eller kan man disable disse shortcuts ?..

****

function pasteFromWord() {
  page_edit.focus()
  var oSel = document.selection.createRange()
    if(oSel.parentElement)    {
      //evt. kun paste
      page_edit.document.execCommand("Paste")
      page_edit.document.execCommand("SelectAll")
      page_edit.document.execCommand("RemoveFormat");
    // oSel.pasteHTML(page_unformat())
    }
}
Avatar billede pelkjaer Nybegynder
21. marts 2003 - 09:41 #8
prøv at fjerne
page_edit.document.execCommand("SelectAll")
Avatar billede loss Nybegynder
21. marts 2003 - 09:45 #9
har prøvet, men så unformatere den ikke noget som helst :(
Avatar billede loss Nybegynder
21. marts 2003 - 10:29 #10
kan man ikke på en eller anden måde, inverse sin selcection..

så kunne man

page_edit.document.execCommand("SelectAll")
page_edit.document.execCommand("Paste")
page_edit.document.execCommand("SelectIverse")
page_edit.document.execCommand("RemoveFormat");

?
Avatar billede loss Nybegynder
03. april 2003 - 09:43 #11
Nåå, det bliver bare den oprindelige løsning indtil videre... tak for hjælpen so far
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