Файл cookie Javascript не работает при отправке формы
-
22-09-2019 - |
Вопрос
У меня есть такая форма, как эта:
<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.