jepsOMedlem sedan mars 2001423 inlägg
Följande kod fungerar utmärkt för att infoga en länk i en textbox:
function AddText(NewCode) {
document.admin.longtext.value+=NewCode
}
function hyperlink() {
txt2=prompt("Länktext.\nLämna tomt om du vill att själva URLen ska visas som länktext.","");
if (txt2!=null) {
txt=prompt("URL för länken.","http://");
if (txt!=null) {
if (txt2=="") {
AddTxt="<a href="+txt+">"+txt+"</a>";
AddText(AddTxt);
}
else {
AddTxt="<a href="+txt+">"+txt2+"</a>";
AddText(AddTxt);
}
}
}
}
Problemet är att texten alltid infogas sist i textboxen. Går det att editera scriptet så URLen infogas där man har markören innan man trycker på "Infoga URL"?
För att se funktionen "in action" kan ni bege er hit och trycka på följande bild.
Tack på förhand.
[Redigerat av jepsO den 21 mar 2001]
JohnsenMedlem sedan juli 2000718 inlägg
Det går definitivt inte att göra med javascript så att det funkar i NN, möjligtvis med java. Så frågan är om man skall gå vidare eftersom det kanske kan funka i IE.
Själv skulle jag fösöka hitta en annan lösning som funkar för både IE & NN (åtminstone).
/ J
jepsOMedlem sedan mars 2001423 inlägg
Saken är den att scriptet används på ett intranät där IE är standard. Det är alltså inget hinder om lösningen inte skulle fungera i NN.
JohnsenMedlem sedan juli 2000718 inlägg
OK!
Jag skulle provat detta:
function sparaPos() {
nuPos = document.selection.createRange();
}
function AddText(NewCode) {
nuPos.text=NewCode;
}
function hyperlink() {
txt2=prompt("Länktext.\nLämna tomt om du vill att själva URLen ska visas som länktext.","");
if (txt2!=null) {
txt=prompt("URL för länken.","http://");
if (txt!=null) {
if (txt2=="") {
AddTxt="<a href="+txt+">"+txt+"</a>";
AddText(AddTxt);
}
else {
AddTxt="<a href="+txt+">"+txt2+"</a>";
AddText(AddTxt);
}
}
}
}
Obs! din textarea måste trigga "sparaPos()"
<textarea name="longtext" rows=10 cols=45 onclick="sparaPos();">...
/ J
solbulleMedlem sedan mars 20014 998 inlägg
Hallå, jag har ett liknande problem med en liknande funktion.
Jag har modifierat ett par script som jag har hittat bla här på wf:
function hilite(txtArea,man,over){
txtAreaName = txtArea.name;
txtRange = document.all[txtAreaName].createTextRange();
txtContainer = txtRange.parentElement().name;
objRange = document.selection.createRange();
hiliteTxt = objRange.text;
toFont_Txt = man + hiliteTxt + over;
if(hiliteTxt != ""){
objRange.text = toFont_Txt;
}
}
Detta fungerar ok, men jag skulle vilja, att om jag tex bara skickar med tex "man" till funktionen samtidigt som jag bara "ställer" markören utan att markera ett ord, få in "man" där...
Borde inte vara så svårt....
inte för att jag klarar av det...
------------------
/solbulle
solbulleMedlem sedan mars 20014 998 inlägg
Jahaja, nu svarar jag på mitt eget inlägg...
Det löste sig, :)
Klantskallen (jag) hade använt samma variabelnamn till två olika prylar.
Det tog ett tag innan jag observerade det.. :(
------------------
/solbulle