/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
indsættelse af link i ContentEditable igen~
Fra : merlin


Dato : 07-05-02 22:37

Jeg har lige et enkelt lille spørgsmål angående ContentEditable:
Hvis jeg nu vil have sat et link ind i den markerede tekst sådan at der
linkes til en URL som er valgt i en <OPTION> i en <SELECT> box, hvordan gør
jeg så det?
Min selectbox kunne fx se således ud:
--
<SELECT NAME="link">
<OPTION VALUE="?link=1">Link1
<OPTION VALUE="?link=2">Link2
<OPTION VALUE="?link=3">Link3
</SELECT>
--
og jeg vil så gerne have en javascript "knap" eller billede eller what so
ever man kan trykke på for at gøre det markerede tekst til et link med HREF=
VALUE'en fra SELECTboksen.

--
Med venlig hilsen
Thomas

Klip det bort der ikke svares på,
og svar under det der citeres
http://www.usenet.dk/netikette/
http://www.usenet.dk/netikette/citatteknik.html



 
 
Jakob Andersen (07-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 07-05-02 23:33

"merlin" <merlin@merlin.sprex.dk> wrote in message
news:3cd848a4$0$97295$edfadb0f@dspool01.news.tele.dk...
> Hvis jeg nu vil have sat et link ind i den markerede tekst sådan at der
> linkes til en URL som er valgt i en <OPTION> i en <SELECT> box, hvordan
gør
> jeg så det?

Prøv at se på dette:

<html>
<head>
<script type="text/javascript">
function IndsaetLink(){
document.all("tekstfelt").contentEditable = "true";
linkboks = document.linksform.link;
strlink = linkboks.options[linkboks.selectedIndex].value;
document.execCommand("CreateLink", null, strlink );
}
</script>
</head>
<body>
<form name="linksform">
<select name="link">
<option value="?link=1">Link1</option>
<option value="?link=2">Link2</option>
<option value="?link=3">Link3</option>
</select>
</form>
<a href="#" onclick="IndsaetLink();return false;">Indsæt link</a><br />
<div id="tekstfelt" contenteditable="true" style="border:1px solid
black;width:400px;height:300px;overflow:auto;">
Skriv tekst her.
</div>
</body>
</html>

--
Jakob Andersen



merlin (08-05-2002)
Kommentar
Fra : merlin


Dato : 08-05-02 16:18

> Prøv at se på dette:
>
> <html>
> <head>
> <script type="text/javascript">
> function IndsaetLink(){
> document.all("tekstfelt").contentEditable = "true";
> linkboks = document.linksform.link;
> strlink = linkboks.options[linkboks.selectedIndex].value;
> document.execCommand("CreateLink", null, strlink );
> }
> </script>
> </head>
> <body>
> <form name="linksform">
> <select name="link">
> <option value="?link=1">Link1</option>
> <option value="?link=2">Link2</option>
> <option value="?link=3">Link3</option>
> </select>
> </form>
> <a href="#" onclick="IndsaetLink();return false;">Indsæt link</a><br />
> <div id="tekstfelt" contenteditable="true" style="border:1px solid
> black;width:400px;height:300px;overflow:auto;">
> Skriv tekst her.
> </div>
> </body>
> </html>
>

Tak for det hurtige svar!
Hvor finder jeg dokumentation om emnet? Jeg har forgæves ledt på msdn.com,
men måske det bare er mig der er dårlig til at lede?
Kan du referere til nogle online bøger/artikler eller lign.?

Mvh
Thomas



Jakob Andersen (08-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-05-02 16:22

"merlin" <merlin@merlin.sprex.dk> skrev i en meddelelse
news:3cd94170$0$11902$edfadb0f@dspool01.news.tele.dk...
> Hvor finder jeg dokumentation om emnet?

Til at lave ovenstående er følgende relevant:

<URL:
http://msdn.microsoft.com/workshop/author/dhtml/reference/constants/createli
nk.asp>
<URL:
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/execcomman
d.asp>

--
Jakob Andersen



merlin (08-05-2002)
Kommentar
Fra : merlin


Dato : 08-05-02 18:13

Nu har jeg så bare et problem der gør at det ikke virker der hvor jeg har
brug for det.
Problemet er at jeg får en "Et objekt var ventet" fejl når jeg trykker på
knappen for at indsætte linket.
Hvis jeg bare bruger det der står her i en ren html fil så er der ingen
problemer.
Problemet, tror jeg, er at jeg bruger den <FORM> hvor <SELECT>boksen er i
til andet også.
Dog kan jeg ikke forstå at det har noget at sige.
Jeg skriver lige her nogle ændringer i koden fra før, således at den ligner
mere det der ikke virker hos mig.

> <html>
> <head>
> <script type="text/javascript">

function IndsaetLink()
{
document.all("editbox").contentEditable = "true";
document.execCommand("CreateLink");
}

function InterntLink()
{
document.all("editbox").contentEditable = "true";
linkboks = document.editform.link;
url = linkboks.options[linkboks.selectedIndex].value;
document.execCommand("CreateLink", null, url );
}

....flere javascript functions...

> </script>
> </head>
> <body>

<FORM ACTION="editor.php?id=<?=$id?>&mode=gem" METHOD="post"
NAME="editform">
....diverse html tabeller osv...
....en del andre <SELECT>bokse... (ingen af dem "hedder" det samme som den
jeg bruger til det her. altså de har ikke NAME="link")

> <select name="link">
> <option value="?link=1">Link1</option>
> <option value="?link=2">Link2</option>
> <option value="?link=3">Link3</option>
> </select>


<IMG SRC="gfx/hyperlink_16x16.png" OnClick="InterntLink();return false;"
ALT="Indsæt link">
<DIV ID="editbox" CONTENTEDITABLE="true" CLASS="editmemo">
</FORM>

> </body>
> </html>

Det var stort set ændringerne.
Hvordan kan det være at det ikke virker?
Er det mig der er helt gal på den?
Skal jeg have to <FORM>s for at kunne gøre det?
Hvis jeg behøver to <FORM>s kan det så lade sig gøre at "putte dem inden i
hinanden"?

Mvh
Thomas



Jakob Andersen (08-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-05-02 19:27

"merlin" <merlin@merlin.sprex.dk> wrote in message
news:3cd95c64$0$11904$edfadb0f@dspool01.news.tele.dk...
> Jeg skriver lige her nogle ændringer i koden fra før, således at den
ligner
> mere det der ikke virker hos mig.

Kan du ikke lægge din kode op et sted hvor vi kan se den?

--
Jakob Andersen



merlin (08-05-2002)
Kommentar
Fra : merlin


Dato : 08-05-02 19:42

> Kan du ikke lægge din kode op et sted hvor vi kan se den?
>

Jo, det kunne jeg godt, men den fylder over 300 linier bare på server side
på client side er den desværre nær 1000, så jeg ville ikke smide så meget
op.

Men nevermind osse, jeg har har fundet en måde det ka lade sig gøre ved at
have to forms men uden at de behøver at gå ind i hinanden, det er godt nok
ikke 100% optimalt, men det går.




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste