2013-07-21 78 views
0

我正在製作一個發佈系統,當用戶輸入消息時,它會創建一些元素並將其放在「機器人」聊天消息的下面。如果用戶輸入兩個不同的消息,則最新的輸入消息超過另一個用戶消息。我希望他們按照時間順序從頭到尾。在JavaScript中的兄弟之後插入一個元素

這似乎並不工作:(中頻/ else部分)

function submitUserMessage(){ 

    var message = document.getElementById("user-input"); 

    if(message.value){ 

     // YOU 
     var you = document.createElement("h4"); 
     var youText = document.createTextNode("You"); 
     you.appendChild(youText); 
     you.className = "ytitle"; 
     document.body.appendChild(you); 
     insertAfter(robotSays, you); 

     // User's message 
     var userMessage = document.createElement("span"); 
     var userMessageText = document.createTextNode(message.value); 
     userMessage.appendChild(userMessageText); 
     userMessage.className = "umsg"; 
     document.body.appendChild(userMessage); 
     insertAfter(you, userMessage); 
    } else if(userMessage){ 
     userMessage.nextSibling.insertAfter(this); 
    } 
} 

這裏是我的崗位制度:: http://jsfiddle.net/MatthewKosloski/YWWMW/

的小提琴(使用回車鍵提交)

回答

1
var userMessage = robotSays; 

function submitUserMessage(){ 

    var message = document.getElementById("user-input"); 

    if(message.value){ 

     // YOU 
     var you = document.createElement("h4"); 
     var youText = document.createTextNode("You"); 
     you.appendChild(youText); 
     you.className = "ytitle"; 
     document.body.appendChild(you); 
     insertAfter(userMessage, you); 

     // User's message 
     userMessage = document.createElement("span"); 
     var userMessageText = document.createTextNode(message.value); 
     userMessage.appendChild(userMessageText); 
     userMessage.className = "umsg"; 
     document.body.appendChild(userMessage); 
     insertAfter(you, userMessage); 
    } 
} 
相關問題