Функцию getCookie() можно вообще не писать. Для сессии достаточно этого:
<body>
<p>Фамилия</p>
<input type="text" value="" id="surname">
<p>Имя</p>
<input type="text" value="" id="name">
<p>Отчество</p>
<input type="text" value="" id="parent">
</body>
var inp = document.querySelectorAll('input');
document.addEventListener('input', setCookie);
function setCookie() {
var date = new Date();
date.setDate(date.getDate() + 1);
date = date.toGMTString(); // toUTCString
for(var i = 0; i < inp.length; i++) {
document.cookie = inp[i].getAttribute('id') + "=" + inp[i].value + '; path=/ ; expires=' + date;
}
}
Значит загвоздка в невозможности браузером сохранить cookie после закрытия. Похоже наводка
Rise о протоколах верна.