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
Insert Text
5 svar · 318 visningar · startad av henrikjohansson
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">');. :)
Tackar fungerar utmärkt.. :)
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
Kan ingen hjälpa mig.. Det skulle vara bra om jag fick det att fungera lite bättre.
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">