我试图制作某种“博客”按钮。我想点击一个按钮,然后它会在我的textarea中写入我点击的任何按钮。但出于某种原因,如果我在点击之前在textarea中写作或做过任何事情,它就不会添加。
<button onClick="knapp('lank')">Länk</button>
<button onClick="knapp('fet')">Fet</button>
<button onClick="knapp('bild')">Bild</button>
<br><br>
<textarea id='knappar' rows="10" cols="50"></textarea>
我的脚本代码是
function knapp(value)
{
var text;
switch(value){
case "fet":
text = '<b></b>';
break;
case "lank":
text = '<a href="https://www.hemsida.com">Klicka här</a>';
break;
case "bild":
text = '<img src="https://www.hemsida.com">';
break;
}
var pp = document.createTextNode(text);
document.getElementById('knappar').appendChild(pp);
}
所以当我点击按钮时,它会写入并追加。但是,如果我一直在写或删除某些东西,它就无法工作。
我对Javascript很新,很抱歉没有问题。
答案 0 :(得分:1)
尝试使用
document.getElementById('knappar').value += text;
而不是
var pp = document.createTextNode(text);
document.getElementById('knappar').appendChild(pp);
完整示例
function knapp(value) {
var text;
switch (value) {
case "fet":
text = '<b></b>';
break;
case "lank":
text = '<a href="https://www.hemsida.com">Klicka här</a>';
break;
case "bild":
text = '<img src="https://www.hemsida.com">';
break;
}
var pp = document.createTextNode(text);
document.getElementById('knappar').value += text;
}
<button onClick="knapp('lank')">Länk</button>
<button onClick="knapp('fet')">Fet</button>
<button onClick="knapp('bild')">Bild</button>
<br><br>
<textarea id='knappar' rows="10" cols="50"></textarea>