1

「ログイン」リンクにカーソルを合わせるとポップアップするログインフォームがあります。フォームをクリックすると、ログイン フォームが非表示になります。私の問題は、(送信ボタンを使用するか、Enter キーを押して) フォームを送信すると、フォームからユーザー名が消えることです。これは IE9 でのみ発生します (以前のバージョンの IE についてはわかりません)。FF、Chrome、Safari、Opera で正常に動作します。また、フォームのすべてのテキスト フィールドの内容が失われ、パスワード フィールドは送信時に値が保持されることも確認しました。

私は困惑しています。どんな助けでも大歓迎です!

ここに私のフォームコードがあります:

<fieldset id='signin_menu'>
<form name='headlogin' method='post' id='signin' action='/login'>
<label for='username'>Username</label>
<input type='text' name='username' size='13' maxlength='20'>
</p>
<p>
<label for='password'>Password</label>
<input type='password' name='password' size='13' maxlength='20'>
</p>
<p class='remember'>
<input type='submit' id='signin_submit' value='Sign in'>
<input type='checkbox' id='remember' name='keeplogin'>
<label for='remember'>Remember me</label>
</p>
<p class='forgot'> <a href='/forgot-password' id='resend_password_link'>Forgot your password?</a> </p>
<input type='hidden' name='submit' value='1' />
</form>
</fieldset>

これが私のJavaScriptです:

$(document).ready(function() {

    $(".signin").mouseover(function(e) {
        e.preventDefault();
        $("fieldset#signin_menu").show();
        $(".signin").toggleClass("menu-open");
    });

    $("fieldset#signin_menu").mouseup(function() {
        return false
    });
    $(document).mouseup(function(e) {
        if($(e.target).parent("a.signin").length==0) {
            $(".signin").removeClass("menu-open");
            $("fieldset#signin_menu").hide();
        }
    });

});
4

0 に答える 0