Показать сообщение отдельно
  #3 (permalink)  
Старый 20.11.2017, 15:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,705

djamali, Лучше не использовать innerText:
https://developer.mozilla.org/ru/doc...Node/innerText
На момент выполнения кода на странице отсутствует элемент с id submit.
Поместите ваш js код перед </body> или выполняйте его после загрузки страницы.
При событии "click" listener'у в кач-ве аргумента передается только экземпляр "Event", если его назвать как внешнюю переменную, то доступа к ней (внешней переменной) уже не будет.

<div id="todo_root">
    <form id="form">
    <ul id="todo">
        <li><input type="text" id="input"><button id="submit">Добавить</button></li>
    </ul>
    </form>
</div>
<script>
function createItem() {
    var li=document.createElement('li');
    li.innerText=element.value;
    var ul=document.getElementById('todo');
    ul.appendChild(li);
    return false;
}
var element =document.getElementById("input");
document.getElementById("submit").onclick=createItem;
</script>
Ответить с цитированием