2010-03-26 66 views
1

我有一個這樣的形式:的Javascript的cookie不工作的形式提交

<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上。有任何想法嗎?

+0

是什麼按鈕是什麼樣子?是

回答

0

我想通了這一點 - 我需要劃上休止符域中的面前,而失去報價:

domain=.mydomain.com 
0

檢查以確保onsubmit拼寫正確(可能是onSubmit?)。

簡化通過把警報中,而不是調用你的函數

onsubmit="alert('test')" 

把警報在你的函數的頂部,看看它是否獲取調用和cookie不會被設置一些更多的複雜的原因。

如果它正在調用,請檢查以確保所有依賴的變量都正確,使用警報或(更好),如螢火蟲。

+0

感謝您的提示,添加提醒幫助我找到實際問題。順便說一句,所有的HTML屬性都是不區分大小寫的,所以'onsubmit'和'onSubmit'完全一樣。事實上,你需要前者用於XHTML。 – DisgruntledGoat 2010-03-26 20:15:51