Adicione campos de entrada ao contêiner div (javascript)

Quero adicionar alguns dados html ao final de um contêiner div. Atualmente, eu faço isso usando innerHtml:

<script language="javascript">
var addid = 0;

function addInput(id){
    var docstyle = document.getElementById('addlist').style.display;
    if(docstyle == 'none')
        document.getElementById('addlist').style.display = '';

    addid++;

    var text = "<div id='additem_"+addid+"'><input type='text' size='100' value='' class='buckinput' name='items[]' style='padding:5px;' /> <a href='javascript:void(0);' onclick='addInput("+addid+")' id='addlink_"+addid+"'>add more</a></div>";

    document.getElementById('addlist').innerHTML += text;
}
</script>

<div id="addlist" class="alt1" style="padding:10px;">
    New list items are added to the bottom of the list.
    <br /><br />
</div>

O problema é que o valor digitado nos campos de entrada é removido assim que outro campo de entrada é adicionado. Como posso adicionar conteúdo sem e manter os dados inseridos?

PS: Eu não uso jquery.

questionAnswers(4)

yourAnswerToTheQuestion