Cookie Javascript não funciona no envio do formulário
-
22-09-2019 - |
Pergunta
Eu tenho um formulário assim:
<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>
E esta é a função Javascript chamada:
<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>
No entanto, o cookie não está sendo definido quando o formulário é enviado.Estava funcionando bem quando conectado ao onclick
manipulador do botão, mas não em onsubmit
.Alguma ideia?
Solução 2
Eu descobri isso - eu precisava fazer uma parada em frente ao domínio e perder as citações:
domain=.mydomain.com
Outras dicas
Verifique se onsubmit está escrito corretamente (talvez seja onSubmit?).
Simplifique colocando um alerta em vez de uma chamada para sua função
onsubmit="alert('test')"
Coloque um alerta no topo da sua função para ver se ela está sendo chamada e se o cookie não está sendo definido por algum motivo mais complicado.
Se estiver sendo chamado, verifique se todas as variáveis nas quais você confia estão corretas, usando alertas ou (melhor), algo como firebug.