Javascript Cookie funktioniert nicht auf Formular abschicken
-
22-09-2019 - |
Frage
Ich habe eine Form wie folgt aus:
<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>
Und das ist die Javascript-Funktion, die aufgerufen wird:
<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>
Allerdings wird das Cookie nicht gesetzt wird, wenn das Formular abgeschickt wird. Es funktioniert gut, wenn an dem onclick
Handler des Buttons angebracht, aber nicht auf onsubmit
. Irgendwelche Ideen?
Lösung 2
dachte ich diese - ich brauchte einen Punkt vor der Domäne zu setzen, und verlieren die Anführungszeichen:
domain=.mydomain.com
Andere Tipps
Überprüfen Sie, onsubmit machen richtig geschrieben ist (vielleicht ist es onSubmit?).
Simplify durch einen Alarm in anstelle eines Anrufs auf Ihre Funktion setzen
onsubmit="alert('test')"
Setzen Sie eine Benachrichtigung an der Spitze Ihrer Funktion zu sehen, ob es immer genannt und das Cookie nicht für etwas mehr kompliziert Grund eingestellt wird.
Wenn es heißt immer, stellen Sie sicher, dass alle Variablen Sie auf korrekt sind verlassen, mit Warnungen oder (besser), so etwas wie Firebug.