1

私はこのようなフォームを持っています:

<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。何か案は?

4

2 に答える 2

0

onsubmitのスペルが正しいことを確認してください(おそらくonSubmitですか?)。

関数を呼び出す代わりにアラートを入力して簡素化する

onsubmit="alert('test')"

関数の上部にアラートを配置して、関数が呼び出され、より複雑な理由でCookieが設定されていないかどうかを確認します。

呼び出された場合は、アラートを使用して、または(より良い)firebugのようなものを使用して、依存しているすべての変数が正しいことを確認してください。

于 2010-03-26T19:57:01.867 に答える
0

私はこれを理解しました-ドメインの前にピリオドを置き、引用符を失う必要がありました:

domain=.mydomain.com
于 2010-03-26T20:13:32.950 に答える