Javascript cookie не работает при отправке формы - PullRequest
1 голос
/ 26 марта 2010

У меня есть такая форма:

<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. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

Я понял это - мне нужно было поставить точку перед доменом и потерять кавычки:

domain=.mydomain.com
0 голосов
/ 26 марта 2010

Проверьте правильность написания onsubmit (может быть, onSubmit?).

Упростите, вставив предупреждение вместо вызова вашей функции

onsubmit="alert('test')"

Поместите предупреждение в верхней части вашей функции, чтобы увидеть, вызывается ли она и не устанавливается ли cookie по более сложной причине.

Если он вызывается, убедитесь, что все переменные, на которые вы полагаетесь, корректны, с помощью предупреждений или (лучше), например, firebug.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...