我写完之后如何使我的按钮工作?

时间:2015-04-26 12:16:49

标签: javascript html

我试图制作某种“博客”按钮。我想点击一个按钮,然后它会在我的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很新,很抱歉没有问题。

1 个答案:

答案 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>