Javascript cookies ne fonctionne pas sur le formulaire soumettre
-
22-09-2019 - |
Question
J'ai une forme comme ceci:
<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>
Et ceci est la fonction Javascript qui est appelé:
<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>
Cependant, le cookie ne se défini lorsque le formulaire est soumis. Il fonctionnait très bien lorsqu'il est attaché au gestionnaire de onclick
du bouton, mais pas sur onsubmit
. Toutes les idées?
La solution 2
Je me suis dit ceci - je avais besoin de mettre un point en face du domaine, et de perdre les guillemets:
domain=.mydomain.com
Autres conseils
Assurez-vous onsubmit est correctement orthographié (peut-être est onSubmit?).
Simplifier en mettant une alerte à la place d'un appel à votre fonction
onsubmit="alert('test')"
Mettre une alerte en haut de votre fonction pour voir si elle devient appelé et le cookie n'est pas réglé pour une raison plus compliquée.
Si on s'appelle, assurez-vous que toutes les variables sur votre fient sont corrects, en utilisant des alertes, ou (mieux), quelque chose comme Firebug.