I am making simple chat on my webpage. I want to save selected user ( value) to cookie to keep user selected after reload.
My code:
<div id="chatContainer" name="chatCointainer">
<select onChange="clearAndRefresh()" id="selectUser" name="selectUser" size="24">
<option selected="selected" value="1">User1</option>
<option value="2">User2</option>
<option value="3">User3</option>
<option value="4">User4</option>
</select>
</div>
<script type="text/javascript">
window.setInterval(refreshOnly, 5000);
var saveclass = null;
function saveUserSelection() {
var sel = document.getElementById('selectUser');
var cookieValue = document.getElementById('selectUser').value;
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + sel.value;
setCookie('userselection', cookieValue, 365);
}
function setCookie(cookieName, cookieValue, nDays) {
var today = new Date();
var expire = new Date();
if (nDays == null || nDays == 0)
nDays = 1;
expire.setTime(today.getTime() + 3600000 * 24 * nDays);
document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString();
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function getUserSelectionFromCookie() {
var userSelect = document.getElementById('selectUser');
var selectedUser = readCookie('userselection');
userSelect.value = selectedUser;
saveclass = saveclass ? saveclass : document.body.className;
document.body.className = saveclass + ' ' + selectedUser;
}
function showUnreadMessages() {
$.ajaxSetup({ cache: false });
$("#chatContainer").load(location.href + " #chatContainer");
}
function clearAndRefresh() {
saveUserSelection();
$("#userMessage").val("");
}
function refreshOnly() {
saveUserSelection();
showUnreadMessages();
getUserSelectionFromCookie();
}
</script>
My problem is that after
$.ajaxSetup({ cache: false });
$("#chatContainer").load(location.href + " #chatContainer");
there is no selected value.
Please help, regards.