在IE上存储cookie无法正常工作

时间:2016-03-31 20:58:30

标签: javascript jquery html internet-explorer cookies

我正在尝试将cookie存储在输入字段中,该字段在Chrome上工作得很好,但它在IE-11上不起作用。任何人都可以告诉我我错过了什么,所以这个cookie也可以在IE上运行?这是我的代码。谢谢你。

使用Javascript:

function setCookie(key, value) {
var expires = new Date();
expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}

function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}

function myfunction() {
setCookie("input1", '1');
alert(getCookie("input1"));
document.homeForm.input1.value = getCookie("input1");
}

HTML

<form name="myform">
<input type=text name=input1 value=""/>
</form>

1 个答案:

答案 0 :(得分:2)

@progx这里有一些在IE 11上为我工作的图片。但为了确保跨浏览器的兼容性,你应该将你的属性值用引号括起来。

<input type="text" name="input1" value=""/>

VS

<input type=text name=input1 value=""/>

以下是使用的代码和工作代码的图像。 使用的代码:

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function() { 
    myfunction( );
});

function setCookie(key, value) {
var expires = new Date();
expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}

function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}

function myfunction() {
setCookie("input1", '1');
alert(getCookie("input1"));
document.myform.input1.value = getCookie("input1");
}
</script>
<style>

</style>
<body>
<form name="myform">
<input type=text name=input1 value=""/>
</form>
</body>
</html>

alert image

input image

editor image

console image