我正在尝试将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>
答案 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>