1

我有这样的表格:

<form id="loginCompact" action="https://externalsite..." name="sportsbook" method="post" onsubmit="createCookie('BRLOG', document.sportsbook.username.value, 1)">
    <input type="text" name="username" class="loginUsername" />
    ...other fields...
</form>

这是被调用的 Javascript 函数:

<script type="text/javascript">
function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/; domain='mydomain.com'";
}
</script>

但是,提交表单时没有设置 cookie。当附加到按钮的处理程序时它工作正常onclick,但不是onsubmit。有任何想法吗?

4

2 回答 2

0

检查以确保 onsubmit 拼写正确(可能是 onSubmit?)。

通过放入警报而不是调用您的函数来简化

onsubmit="alert('test')"

在您的函数顶部放置一个警报,以查看它是否被调用并且由于某些更复杂的原因没有设置 cookie。

如果它被调用,请检查以确保您依赖的所有变量都是正确的,使用警报或(更好)类似 firebug 的东西。

于 2010-03-26T19:57:01.867 回答
0

我想通了 - 我需要在域前面加上句号,并丢失引号:

domain=.mydomain.com
于 2010-03-26T20:13:32.950 回答