Reputation:
I am having a id and a text in the html page and I am trying to retrieve them in the javascript and print them in console the code snippet
const personArr = document.querySelectorAll(".person_name");
personArr.forEach(item => {
item.addEventListener('click',() => {
document.querySelector("#insertName").innerText = "";
document.querySelector("#insertName").innerText = `${item.innerText}`;
document.querySelector("#insertName").innerText =`${item.id}`;
})
})
var form = document.getElementById('msg_send_btn');
form.onclick = function(event) {
event.preventDefault();
var input = document.getElementById("write_msg").value
var id= document.getElementById("insertName").value
console.log(input)
console.log(id)
}
.container {
max-width: 3000px;
margin: auto;
}
img {
max-width: 100%;
}
.inbox_people {
background: #f8f8f8 none repeat scroll 0 0;
float: left;
overflow: hidden;
width: 40%;
border-right: 1px solid #c4c4c4;
}
.inbox_msg {
border: 1px solid #c4c4c4;
clear: both;
overflow: hidden;
}
.top_spac {
margin: 20px 0 0;
}
.recent_heading {
float: left;
width: 40%;
}
.srch_bar {
display: inline-block;
text-align: right;
width: 60%;
padding: ;
}
.headind_srch {
padding: 10px 29px 10px 20px;
overflow: hidden;
border-bottom: 1px solid #c4c4c4;
}
.recent_heading h4 {
color: #05728f;
font-size: 21px;
margin: auto;
}
.srch_bar input {
border: 1px solid #cdcdcd;
border-width: 0 0 1px 0;
width: 80%;
padding: 2px 0 4px 6px;
background: none;
}
.srch_bar .input-group-addon button {
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
border: medium none;
padding: 0;
color: #707070;
font-size: 18px;
}
.srch_bar .input-group-addon {
margin: 0 0 0 -27px;
}
.chat_ib h5 {
font-size: 15px;
color: #464646;
margin: 0 0 8px 0;
}
.chat_ib h5 span {
font-size: 13px;
float: right;
}
.chat_ib p {
font-size: 14px;
color: #989898;
margin: auto;
}
.chat_img {
float: left;
width: 11%;
}
.chat_ib {
float: left;
padding: 0 0 0 15px;
width: 88%;
}
.chat_people {
overflow: hidden;
clear: both;
}
.chat_list {
border-bottom: 1px solid #c4c4c4;
margin: 0;
padding: 18px 16px 10px;
}
.inbox_chat {
height: 550px;
overflow-y: scroll;
}
.active_chat {
background: #ebebeb;
}
.incoming_msg_img {
display: inline-block;
width: 6%;
}
.received_msg {
display: inline-block;
padding: 0 0 0 10px;
vertical-align: top;
width: 92%;
}
.received_withd_msg p {
background: #ebebeb none repeat scroll 0 0;
border-radius: 3px;
color: #646464;
font-size: 14px;
margin: 0;
padding: 5px 10px 5px 12px;
width: 100%;
}
.time_date {
color: #747474;
display: block;
font-size: 12px;
margin: 8px 0 0;
}
.received_withd_msg {
width: 57%;
}
.mesgs {
float: left;
padding: 30px 15px 0 25px;
width: 60%;
}
.sent_msg p {
background: #05728f none repeat scroll 0 0;
border-radius: 3px;
font-size: 14px;
margin: 0;
color: #fff;
padding: 5px 10px 5px 12px;
width: 100%;
}
.outgoing_msg {
overflow: hidden;
margin: 26px 0 26px;
}
.sent_msg {
float: right;
width: 46%;
}
.input_msg_write input {
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
border: medium none;
color: #4c4c4c;
font-size: 15px;
min-height: 48px;
width: 100%;
}
.type_msg {
border-top: 1px solid #c4c4c4;
position: relative;
}
#msg_send_btn {
background: #05728f none repeat scroll 0 0;
border: medium none;
border-radius: 50%;
color: #fff;
cursor: pointer;
font-size: 17px;
height: 33px;
position: absolute;
right: 0;
top: 11px;
width: 33px;
}
.messaging {
padding: 0 0 50px 0;
}
.msg_history {
height: 516px;
overflow-y: auto;
}
<html>
<head>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" type="text/css" rel="stylesheet">
<div class="container">
<h3 class=" text-center">Messaging</h3>
<div class="messaging">
<div class="inbox_msg">
<div class="inbox_people">
<div class="headind_srch">
<div class="recent_heading">
<h4>Recent</h4>
</div>
<div class="srch_bar">
<div class="stylish-input-group">
<input type="text" class="search-bar" placeholder="Search">
<span class="input-group-addon">
<button type="button"> <i class="fa fa-search" aria-hidden="true"></i> </button>
</span> </div>
</div>
</div>
<div class="inbox_chat">
<div class="chat_list active_chat">
<div class="chat_people">
<div class="chat_ib">
<h5><a href="#" class="person_name" id="1">satya <span class="chat_date"></span></a></h5>
<p></p>
</div>
</div>
</div>
<div class="chat_list active_chat">
<div class="chat_people">
<div class="chat_ib">
<h5><a href="#" class="person_name" id="2">ferin <span class="chat_date"></span></a></h5>
<p></p>
</div>
</div>
</div>
<div class="chat_list active_chat">
<div class="chat_people">
<div class="chat_ib">
<h5><a href="#" class="person_name" id="3">laxmi<span class="chat_date"></span></a></h5>
<p></p>
</div>
</div>
</div>
</div>
</div>
<div class="mesgs">
<div class="msg_history">
<p id="insertName"></p>
<div class="type_msg">
<div class="input_msg_write">
<input type="text" id="write_msg" placeholder="Type a message" />
<button id="msg_send_btn" type="button"><i class="fa fa-paper-plane-o" aria-hidden="true"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Here I am having three users at the left and when I click on one user the user id and and input box is displayed with a send button so here I want the text message and id when I click the send button in the console here I am getting text and undefined in the place of id can anyone help me out from this
Upvotes: 0
Views: 55
Reputation: 165
it looks like you're trying to print the value of the id from a p. The quickest way to fix this would be to change your button click event from:
form.onclick = function(event) {
event.preventDefault();
var input = document.getElementById("write_msg").value
var id = document.getElementById("insertName").value
console.log(input)
console.log(id)
}
to:
form.onclick = function(event) {
event.preventDefault();
var input = document.getElementById("write_msg").value
var id = document.getElementById("insertName").innerText;
console.log(input)
console.log(id)
}
Upvotes: 1