webForumDet fria alternativet

Publisher

1 svar · 182 visningar · startad av Kim

KimMedlem sedan jan. 20007 697 inlägg
#1

Jag har ett litet problem med en textredigerare som jag håller på med. Det är så att man ska kunna markera text i en textarea och sen klicka på en länk för t.ex. fet stil och då ska den markerade texten bli fet.
Allt fungerar och markerad text blir också så som det ska bli. Problemet kommer när ingen text är markerad, då hamnar nämligen taggarna (t.ex. <b></b> ) bredvid textarean och förskjuter ta:n i sidled.

Någon som vet vad som är fel och som kan hjälpa mig?

<html>

<head>
 <title>Test</title>

<script language="JavaScript">
function formatText(txtArea, action) {

    txtAreaName = txtArea.name;

    txtRange = document.all[txtAreaName].createTextRange();

    if(txtRange != null) {
        txtContainer = txtRange.parentElement().name;

        objRange = document.selection.createRange();
        formatTxt = objRange.text;

        if(action == "b") {
            formatTxt = "<b>" + formatTxt + "</b>";
        } else if (action == "i") {
            formatTxt = "<i>" + formatTxt + "</i>";
        } else if (action == "u") {
            formatTxt = "<u>" + formatTxt + "</u>";
        } else if (action == "rubrik") {
            formatTxt = "<font size='4'><b>" + formatTxt + "</b></font>";
        }
        objRange.text = formatTxt;

    }
}
</script>

</head>
<body>
<form>

<textarea cols="30" rows="15" name="txtMainText" align="left">
</textarea>

<br><br><br>
<a href="#" onClick="javascript:formatText(txtMainText, 'b');"><b>B</b></a>
<br>
<a href="#" onClick="javascript:formatText(txtMainText, 'i');"><i>I</i></a>
<br>
<a href="#" onClick="javascript:formatText(txtMainText, 'u');"><u>U</u></a>
<br>
<a href="#" onClick="javascript:formatText(txtMainText, 'rubrik');"><b><font size='4'>RUBRIK</font></b></a>

</form>
</body>
</html>

------------------
de'nim

JojoxxMedlem sedan juni 20004 308 inlägg
#2
function formatText(txtArea, action) {
	txtAreaName = txtArea.name;
	txtRange = document.all[txtAreaName].createTextRange();
	if(txtRange != null) {
		txtContainer = txtRange.parentElement().name;
		objRange = document.selection.createRange();
		formatTxt = objRange.text;
		if(formatTxt){
			if(action == "b") {
				formatTxt = "<b>" + formatTxt + "</b>";
			} else if (action == "i") {
				formatTxt = "<i>" + formatTxt + "</i>";
			} else if (action == "u") {
				formatTxt = "<u>" + formatTxt + "</u>";
			} else if (action == "rubrik") {
				formatTxt = "<font size='4'><b>" + formatTxt + "</b></font>";
			}
			objRange.text = formatTxt;
		}
	}
}

------------------
/ J

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)