2010-03-26 24 views
1

J'ai une forme comme ceci:cookies Javascript ne fonctionne pas sur le formulaire soumettre

<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 lors de la le formulaire est soumis. Il fonctionnait correctement lorsqu'il était associé au gestionnaire onclick du bouton, mais pas au onsubmit. Des idées?

+0

quoi sert le bouton ressemble? est-ce un

Répondre

0

Je compris cela - je avais besoin de mettre un point en face du domaine, et perdre les citations:

domain=.mydomain.com 
0

Assurez-vous que l'orthographe est correctement orthographiée (peut-être est-elle activée?).

Simplifier en mettant une alerte au lieu d'un appel à votre fonction

onsubmit="alert('test')" 

Mettez une alerte en haut de votre fonction pour voir si elle devient appelé et le cookie n'est pas réglé pour un peu plus raison compliquée. Si elle est appelée, vérifiez que toutes les variables que vous utilisez sont correctes, en utilisant des alertes, ou (mieux), quelque chose comme firebug.

+0

Merci pour les conseils, l'ajout d'alertes m'a aidé à trouver quel était le problème réel. BTW tous les attributs HTML sont insensibles à la casse donc 'onsubmit' est exactement le même que' onSubmit'. En fait, vous avez besoin de l'ancien pour XHTML. – DisgruntledGoat

Questions connexes