Вопрос

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

<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

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

domain=.mydomain.com

Другие советы

Убедитесь, что onsubmit написан правильно (может быть, это onSubmit?).

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

onsubmit="alert('test')"

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top