Avatar billede Slettet bruger
20. november 2002 - 08:55 Der er 10 kommentarer og
1 løsning

online editor

Jeg har en online editor hvor jeg gerne vil have at brugeren skal kunne linke til nogle filer i en select menu.

Jeg skal derfor bruge en funktion der kan sætte <a href="min value" target="_blank">det markerede</a>

omkring det brugeren markerer i editoren..

Det skal være en funktion der trigges fra

onChange="dofunktion(this.options[this.selectedIndex].value)"

Anyone?
Avatar billede pelkjaer Nybegynder
20. november 2002 - 09:02 #1
hvordan ser din dofunktion ud? Vi kan godt bruge createLink ikke?
Avatar billede Slettet bruger
20. november 2002 - 10:25 #2
nej det går ikke da jeg vil have brugeren til at vælge skidtet fra en liste og ikke selv skulle kunne huske filnavnet...
Avatar billede pelkjaer Nybegynder
20. november 2002 - 10:33 #3
Og? Hvad har det med det at gøre?
Avatar billede Slettet bruger
20. november 2002 - 10:34 #4
måske ingenting? Ved det ikke...fortæl om din ide?
Avatar billede pelkjaer Nybegynder
20. november 2002 - 10:49 #5
I min egen editor har jeg også lavet en select der henter der lister alle mine "innerlinks" ud fra en database - dvs. links til sider i mit eget site.

Og når din funktion hedder dofunktion() vil det se således ud:

function innerLink(){
iLink = document.all.InnerLinkSelect.value;
dofunktion (this,'CreateLink',iLink);
}


<select name="InnerLinkSelect" id="InnerLinkSelect">
<option value="">tekst</option>
</select>

<input type="button" name="button1" value="InnerLink" onClick="innerLink();">

Dvs, du markerer en tekst i din editor, og vælger en side fra din select og trykker derefter på knappen "innerlink"

Så manger vi bare target="_blank" som efter min mening skal addes manuelt da det giver brugeren flere options.

Det kunne vi klare således (min iframe hedder "idContent"):

function makeLinkBlank(hvad)
    {
    //get selection
    var oSel    = idContent.document.selection.createRange()
    var sType = idContent.document.selection.type
    //if (sType!="Control"&&sType!="None")
    if(oSel.parentElement != null)
        {
        html = oSel.htmlText;
        html = html.substring(html.toLowerCase().indexOf("<a") + 3, html.length);
        sApplied = "<a target='"+hvad+"'"+html;
        oSel.pasteHTML(sApplied)
        }
    }

og (skal placeres inde i din form)

<input name="hiddenLinkBlank" type="hidden" id="hiddenLinkBlank" value="_blank">

og (her kan du bruge et billede/et tekstlink/button osv.)

<div onclick="makeLinkBlank(document.formnavn.hiddenLinkBlank.value)"><img src="editor_images/linkblank.gif" alt="Gør valgte link eksternt (åbner i nyt vindue)" width="23" height="22" style="cursor:hand"></div>
Avatar billede Slettet bruger
20. november 2002 - 14:58 #6
Kan ikke helt lige forstå det...

Hvorfor skal jeg ikke doInnerlink når du nu har defineret den som funktion...
Avatar billede Slettet bruger
20. november 2002 - 15:11 #7
jeg vil gerne kunne aktiviere funtionen ved at tilføje følgende kode i select boxen:

onChange="dofuntion(this.options[this.selectedIndex].value)"

Har også prøvet at sætte det op som du har foreslået det uden resultat.
Avatar billede Slettet bruger
20. november 2002 - 15:44 #8
Prøv bare dette:

onChange="editor.document.execCommand('CreateLink', false, this.options[this.selectedIndex].value);"
Avatar billede pelkjaer Nybegynder
20. november 2002 - 15:46 #9
Dette burde også virke:

<select name="InnerLinkSelect" id="InnerLinkSelect" onchange="innerLink();">
<option value="">tekst</option>
</select>

Så skal du godt stadig gøre linksne _blank med som vist ovenfor, men det er da også klart det bedste.
Avatar billede Slettet bruger
21. november 2002 - 08:54 #10
Tak for hjælpen...det virker nu...
Avatar billede pelkjaer Nybegynder
21. november 2002 - 08:57 #11
Det var godt :)

For lige at svare på dit spørgsmål fra igår, hvor du sagde at du ikke forstod du ikke skulle sige "doInnerlink()":

doFunktion() er en funktion der bruger "MS Editor Machine"'s standard ting - fx. 'createLink' og 'insertImage'

Ligeså snart vi laver en anden funktion, skal du se bort fra din doFunktion
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