0

我在页面的头部有这个

<script type="text/javascript">
        function makeCookie(name)
        {
            alert("c is for cookie");
            days=30; // number of days to keep the cookie
            var myDate = new Date();
            myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
            expires="myDate.toUTCString();
            document.cookie="pull=" + name;
            alert("c is for cookie");
        }
    </script>

然后是一堆看起来与此类似的列表项:

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>

我没有收到警报,也没有设置 cookie。所以我知道我做错了什么。当我在 Chrome 中查看 JavaScript 控制台时,它也给了我令牌错误。所以我猜我在某个地方有一个悬挂支架,但我找不到它。

4

3 回答 3

1

JSLint为初学者展示了这个无与伦比的开放式报价:

expires = "myDate.toUTCString();
          ^

此外,您的onclick值中的引号是错误的,您应该对内部 JavaScript 引号使用单引号,以避免与 HTML 属性已经存在的双引号产生歧义。

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>
                                    ^                  ^
于 2012-08-01T18:52:24.410 回答
0

查看语法突出显示:该onclick属性过早关闭,因为您尝试""-delimited 属性中使用。改变这个:

<a href="#tab2" onclick="makeCookie("LastName FirstName")">LastName FirstName</a>

对此:

<a href="#tab2" onclick="makeCookie('LastName FirstName')">LastName FirstName</a>
于 2012-08-01T18:47:13.183 回答
0

这是因为您使用与onclick参数相同类型的引号 to makeCookie,所以当您执行 "Lastname.Try:

<a href="#tab2" onclick='makeCookie("LastName FirstName")'>LastName FirstName</a>
于 2012-08-01T18:47:32.403 回答