webForumDet fria alternativet

Insert Text

5 svar · 318 visningar · startad av henrikjohansson

henrikjohanssonMedlem sedan maj 2000373 inlägg
#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

Erik JuhlinMedlem sedan maj 20007 625 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">');. :)

henrikjohanssonMedlem sedan maj 2000373 inlägg
#3

Tackar fungerar utmärkt.. :)

henrikjohanssonMedlem sedan maj 2000373 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

henrikjohanssonMedlem sedan maj 2000373 inlägg
#5

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

MorphMedlem sedan juli 2000472 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">
Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb