Я новичок в Javascript и разместил этот вопрос ранее, связанные страницы, которые были схожи с моим вопросом, не помогли, так как я новичок и не вижу взаимосвязи между похожими вопросами и моими.
Я использую Javascript от Sam's Teach Yourself Javascript за 24 часа, чтобы научиться, и наткнулся на упражнение, которое ставит меня в тупик.
Я пытаюсь создать простую страницу с файлами cookie для передачи информации из формы на одной странице. Я хотел бы попытаться сохранить информацию из cookieFName и cookieLName из одного запроса, чтобы затем разбить его наимя и фамилия ... но я не уверен, как это сделать, и книга не ясна. Мне удалось создать два отдельных файла cookie для отображения, но мне бы хотелось, чтобы между ними было свободное пространство (и опять же, в идеале, пользователю нужно всего лишь ввести свое полное имя).
Вот мой код:
Страница 1:
<!DOCTYPE html>
<html>
<head>
<title>Cookie Testing</title>
<script src="Script/cookie.js"></script>
<script>
window.onload = function() {
var cookieFname = prompt("First Name: ");
createCookie("FirstName", cookieFname);
var cookieLname = prompt("Last Name: ");
createCookie("LastName", cookieLname);
}
</script>
</head>
<body>
</body>
</html>
Страница 2:
<!DOCTYPE html>
<html>
<head>
<title>Cookie Testing</title>
<script src="Script/cookie.js"></script>
<script>
window.onload = function() {
document.getElementById("output").innerHTML = "Your cookie value: " + getCookie("FirstName") + getCookie("LastName"); <!-- on window load should display cookie "myCookieData" in the output div -->
}
</script>
</head>
<body>
<a href="cookietest.html">Back to Cookie Test Page 1</a><br/> <!-- Link back to first page -->
<div id="output"></div> <div id="anotheroutput"></div> <!-- output where cookie should display -->
<input type="button" onclick="deleteCookie('FirstName')" value="Forget My First Name"> <br>
<input type="button" onclick="deleteCookie('FirstName')" value="Forget My Last Name"> <br>
</body>
</html>
JavaScript:
function createCookie(name, value, days, path, domain, secure)
{
if (days) {
var date = new Date();
date.setTime( date.getTime() + (days*24*60*60*1000));
var expires = date.toGMTString();
}
else var expires = "";
cookieString = name + "=" + escape (value);
if (expires) cookieString += "; expires=" + expires;
if (path) cookieString += "; path=" + escape (path);
if (domain) cookieString += "; domain=" + escape (domain);
if (secure) cookieString += "; secure";
document.cookie = cookieString;
}
function getCookie(name) {
var nameEquals = name + "=";
var crumbs = document.cookie.split(';');
for (var i = 0; i < crumbs.length; i++) {
var crumb = crumbs[i].trim();
if (crumb.indexOf(nameEquals) == 0) {
return unescape(crumb.substring(nameEquals.length, crumb.length));
}
}
return null;
}
function deleteCookie(name) {
createCookie(name,"",-1);
}