I want to add unique id to each paragraph element inside the function 'chatSubmit' as seen in the below code. the DOM is generated dynamically and paragraph has an ID textDisplay which has to be different for newly added DOM elements.
here is the demo in fiddle: https://jsfiddle.net/phaneendra/89v4a7m3/
<div class="userlist">
<ul>
<li onclick="openChat(this)">user1</li>
<li onclick="openChat(this)">user2</li>
<li onclick="openChat(this)">user3</li>
<li onclick="openChat(this)">user4</li>
<li onclick="openChat(this)">user5</li>
</ul>
</div>
<div id="main"></div>
function chatSubmit(form){
var sendInput = form.input;
if(sendInput.value != ""){
var message = sendInput.value;
var username = document.getElementById("username").innerHTML;
document.getElementById("textDisplay").innerHTML += username + ": " +message + "<br/>";
sendInput.value = "";
}else{
return false;
}
}
function openChat(userName){
var user = document.createElement("div");
user.className = "chat-app";
user.innerHTML = '<form name="form"><div class="chat-icons"><div class="username"><span id="username">'+userName.innerHTML+'</span></div> <div class="settings"></div></div><div class="chat-window"><p id="textDisplay"></p></div><div class="chat-inputs"><input type="text" value="" id="input" /><input type="button" value="send" onClick = "chatSubmit(this.form)"/></div></form>';
document.getElementById("main").appendChild(user);
}
document.getElementById("main").appendChild(user);is not working in fiddle..for that you can directly dodocument.getElementById("main").innerHTML=user;