webForumDet fria alternativet
Logga in / Bli medlem

Replace problem

JavaScript

1 svar · 231 visningar · startad av peterg

Medlem sedan aug. 200023 inlägg
Trådstart#1

Nu går det inte längre, jag har sökt efter information men fattar inget och hoppas istället att någon kan hjälpa mej här.

Jag har en textruta där man kan markera en bit text och sedan välja färg för den valda texten, och det funkar kanon.
Problemet är nu att jag skulle vilja ha en funktion där man med liknande funktion där man markerar vald text och sedan klickar på en knapp för att ta bort all kod i den markerade texten

ex. [FONT COLOR=#990000]text

Koden jag använder idag för att färga text (hittad här på wF)

<SCRIPT LANGUAGE="JAVASCRIPT">
function hiliteFontFace(txtArea,fontface){
txtAreaName = txtArea.name;
txtRange = document.all[txtAreaName].createTextRange();
txtContainer = txtRange.parentElement().name;

var check = document.frm.fontface;
var fontFaceVal = "Ingen Font vald";
for (var i=0; i<check.length; i++){
if(check[i].checked){ fontFaceVal=check[i].value;}
}

objRange = document.selection.createRange();
hiliteTxt = objRange.text;
toFontFace_Txt = "[FONT=" + fontFaceVal + "]" + hiliteTxt + "[/FONT]";

if(hiliteTxt != ""){
objRange.text = toFontFace_Txt;
}
}

function hiliteFontColor(txtArea,fontcolor){
txtAreaName = txtArea.name;
txtRange = document.all[txtAreaName].createTextRange();
txtContainer = txtRange.parentElement().name;

var check = document.frm.fontcolor;
var fontClrVal = "Ingen Fontfärg vald";
for (var i=0; i<check.length; i++){
if(check[i].checked){ fontClrVal=check[i].value;}
}

objRange = document.selection.createRange();
hiliteTxt = objRange.text;
toFontColor_Txt = "[FONTCOLOR=" + fontClrVal + "]" + hiliteTxt + "[/FONT]";

if(hiliteTxt != ""){
objRange.text = toFontColor_Txt;
}
}
</SCRIPT>

Länken för att ändra färg ser ut så här:

<INPUT TYPE=RADIO NAME='fontcolor' VALUE='990000' onClick="javascript:hiliteFontColor(text,fontcolor);">

Jag misstänker att man ska använda sig av någon regexp eller replace-funktion där man tar bort allt mellan klamrarna [ ], men hur gör man?

Medlem sedan aug. 200023 inlägg
#2

Ingen som kan hjälpa en stackars javascript-analfabet?

Hur ersätter man allt mellan klamrarna [] med ingenting i en markerad text i en textarea?

272 ms totalt · 4 externa anrop · v20260731065814-full.8f538240
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)