我正在尝试使用JS Cookie在页面加载时自动提交表单,以下是我的代码,但它不起作用。任何帮助都会很明显。谢谢。 我怀疑我的代码与设置和获取cookie有关。
<html>
<head>
<script>
window.onload = function()
{
if(window.location == "hello.html")
{
alert("location match");
var x = getCookie("crmodtaskform");
alert("cookie retrieved");
alert("x:" + x);
if(x == "")
{
setCookie("crmodtaskform",yes);
alert("cookie set");
document.checkform.submit();
}
else
{
alert("cookie is already set and form already submiteed once");
}
}
}
function setCookie(cname,cvalue)
{
document.cookie = cname + "=" + cvalue + ";";
}
function getCookie(cname)
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
</script>
</head>
<body>
<form name="checkform" method="POST">
First Name: <input type="text" id="fn"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
答案 0 :(得分:0)
if(window.location == "hello.html")
永远不会成真。字符串化location
时,它将是完整的 URI,而不仅仅是路径段的最后一个组件。
与整个URI比较,或使用indexOf()
或match()