I have two hidden fields with values containing the name and id of a user ("touserid" and "tousername"). In the same form I want to echo "Write (the user) a message". So in this echo message I must retrieve the username from the hidden field name. Is that possible?
This is the form (popup div) for sending message to a chosen user:
<div id="overlay_mess"> <!-- mess = send message -->
<div id="popupdiv_mess"> <!-- popup: send message to chosen friend-->
<form action="/22feb_community/message/postmessage" method="post">
<?php echo "Write " . "a message." ?><br><br>
<textarea name="messagetext"></textarea><br><br>
<span>Private: <input type="radio" name="visibility" value="1"> Public: <input type="radio" name="visibility" value="2"></span><br>
<input type="hidden" name="touserid" value="">
<input type="hidden" name="tousername" value="">
<input type="submit" name="submit_message" value="Send"><br>
</form>
<a href='#' onclick='overlay_mess()'>close </a>
</div>
</div>
To explain the background: This is a user page where the user's friends are displayed by php. On each friend the user can click "send message", which shows a popup-div with a form for sending a message to this user. I had to create data attributes for each friend containing the id and name, and let javascript retrieve and put them into the hidden fields of the form. But the id and name is only available in these hidden fields. Besides the main question, are there better ways to do this?
edit: javascript:
$('.friend').on('click',function(){
var dAttribute1 = $(this).closest("div").attr("data-userid"); //take clicked user's userid
var dAttribute2 = $(this).closest("div").attr("data-username"); //take username
$("input[name='touserid']").val(dAttribute1); //put user id in hidden inputfield
$("input[name='tousername']").val(dAttribute2); //username in hidden inputfield
var el = document.getElementById("overlay_mess");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";