Я работаю над назначением здесь, где пользователь вводит свое имя в текстовое поле и выбирает изображение с помощью переключателя, проверяя и сохраняя значения в файле cookie.проблема получения значений cookie
Несмотря на то, что он выполнен не отлично, я вижу, что cookie хранится правильно, только путем печати document.cookie
. Теперь я хочу показать только значение, а не имя файла cookie. Как и сейчас, для меня ничего не отображается. Я подозреваю, что проблема заключается в моей функции GetCookie
или ее вызове.
Любые указатели будут оценены!
// Functions
$("#BtnSubmit").click(function() {
ClearErrors();
Validate();
});
$("#BtnShow").click(function() {
GetCookie(document.cookie);
});
$("#BtnDestroy").click(function() {
DestroyCookie();
});
function Validate() {
var name = $("#TBName").val();
var pic = $("input:radio[name='RGPic']:checked").val();
var isValid = true;
// validate name field
var nameReg = /^[A-Za-z ]{3,20}$/;
if (!nameReg.test(name) || name.length == 0) {
$("#DivNameError").html("C'mon, \"" + name + "\" is not a valid name.");
isValid = false;
}
if (name.length == 0) {
$("#DivNameError").html("No name was entered!");
isValid = false;
}
// Validate picture selected
if (pic == undefined) {
$("#DivPicError").html("Select a picture");
isValid = false;
}
if (isValid == true) {
SetCookie(name, pic);
}
}
// function to clear error messages upon attempted submittal
function ClearErrors() {
$("#DivNameError").html("");
$("#DivPicError").html("");
}
// Cookie Functions
function SetCookie(nValue, picture) {
document.cookie = "name=" + nValue + "; expires=Wed, 01 Jan 2020 00:00:00 GMT; path=/";
document.cookie = "securitypicture=" + picture + "; expires=Wed, 01 Jan 2020 00:00:00 GMT; path=/";
$("#DivMessage").show().html("Cookie has been added.").fadeOut(1600);
window.location.href = "results.html";
}
function GetCookie(list) {
var cookieArr = new array();
cookieArr = list.split(";");
for (var i = 0; i < cookieArr.length; i++) {
var val = cookieArr[i].split("=");
}
$("#DivCookieContents").html("name value: " + val[0] + "picture file: " + val[1]);
}
function DestroyCookie() {
var name = "";
var pic = "";
SetCookie(name, pic);
}
'GetCookie' отображает только последнее печенье. Вы должны добавить свой HTML-код в цикл. – Barmar