2015-12-24 1 views
2

код должен динамически добавлять новый элемент статьи с помощью js. Вот мой код, но он не работает.Я создаю веб-сайт сотового медиа, и я должен позволить пользователю динамически отправлять

js, чтобы создать статью на странице, как только пользователь нажимает кнопку отправки. `

document.getElementById("post-button").onclick = createPost(); 
var el = document.getElementById("post-button"); 
if (el.addEventListener) 
    el.addEventListener("click", createPost(), false); 
else if (el.attachEvent) 
    el.attachEvent('onclick', createPost()); 


function createPost(){ 
    var article = document.createElement("article"); 
    article.setAttribute("id", "myarticle"); 
    article.className = "posts"; 

    var p = document.createElement("p"); 
    p = document.getElementByID("posting-area").value; 




    // test case, append the content 
    document.body.appendChild(article); 
    document.getElementById("myarticle").appendChild(p); 

} 

`

HTML для пользователя, чтобы ввести текст сообщения.

<article class="posts"> 
       <img class="peopletofollowimg" src=Profile.jpg alt="View Profile Picture"> 
       <textarea id="posting-area" rows="6" cols="90" placeholder="Share Your Thoughts!"> 
       </textarea> 
        <button onclick="createPost()" id="post-button">Post!</button> 


      </article> 
+1

Мы не можем помочь вам, если вы не более специфичны. что не работает? Какие ошибки появляются в консоли JavaScript? – Robbert

ответ

0

Я вижу ряд проблем с вашим кодом. Во-первых, вы добавляете элемент p к элементу с id myarticle, но myarticle не существует в вашем html-фрагменте. Возможно, вы оставили это.

Кроме того, document.getElementByID("posting-area").value() является неправильным. Он должен быть getElementById("posting-area").value(). Удалите прописную букву D в getElementByID.

И, наконец, вам нужно изменить линию

var p = document.createElement("p"); 
p = document.getElementById("posting-area").value; 

в

var p = document.createElement("p"); 
p.innerHTML = document.getElementById("posting-area").value; 

Вот рабочая jsfiddle

+0

он работает, но всякий раз, когда я нажимаю на сообщение, он добавляет новый div в старый. @ Robbert – Noha

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