webForumDet fria alternativet

Insert Text

JavaScript

5 svar · 318 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Frågan#1

Jag håller på med en Web editor med hjälp av en DIV som är contenteditable så att man kan skriva direkt i lagret.
Går det att göra så att om man trycker på en knapp så skall en viss text hamna vid markören? Jag har för mig att detta går att göra med en vanlig Textarea men det är för ett lager jag vill ha det

Medlem sedan maj 200010 687 inlägg
#2
function insertHTML(html)
{
	if(document.selection.type == "Control")
		document.selection.clear();
	
	document.selection.createRange().pasteHTML(html);
}

Sen så skriver man bara insertHTML('<img src="bild.jpg">');. :)

Medlem sedan maj 2000360 inlägg
#3

Tackar fungerar utmärkt.. :)

Medlem sedan maj 2000360 inlägg
#4

Nästan iaf.. Det fungerar när jag tar onclick på div taggen men när jag flyttar det till en Button istället så blir det error på rad 9

<html>
<head>

<script language="Javascript">
function insertHTML(html)
{
	if(document.selection.type == "Control")
		document.selection.clear();
	
	document.selection.createRange().pasteHTML(html);
}
</script>
</head>
<body>
<div contenteditable name="Texten" bgcolor="#333333" >asdsadf</div>
<input type="Button" onclick="insertHTML('Tjosan')">
</body>
</html>

edit: Jag bytte onclick grejen till en länk och då fungerade det halvt.. Den lägger till i Editorn om man markerat ett tecken annars skrivs texten ut högst upp på sidan

Medlem sedan maj 2000360 inlägg
#5

Kan ingen hjälpa mig.. Det skulle vara bra om jag fick det att fungera lite bättre.

Medlem sedan juli 2000534 inlägg
#6

När du klickar på knappen så blir den "selected", dvs document.selection innehåller inte längre den markerade texten. Sätt attributet unselectable på knappen för att fixa det:

<input type="Button" onclick="insertHTML('Tjosan')" unselectable="on">
259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)