2015-04-26 3 views
1

Im пытается сделать своего рода «блог» кнопки. Я хочу нажать на кнопку, а затем она будет писать в моем текстовом поле для любой кнопки, которую я нажал. Но по какой-то причине он не добавит, если я писал или делал что-либо в текстовом поле, прежде чем щелкнуть.Как заставить мою кнопку работать после того, как я писал?

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

И мой scriptcode является

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, так что извините за вопрос noob.

ответ

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>

+0

Да, все! Огромное спасибо :) –

Смежные вопросы