「ログイン」リンクにカーソルを合わせるとポップアップするログインフォームがあります。フォームをクリックすると、ログイン フォームが非表示になります。私の問題は、(送信ボタンを使用するか、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();
}
});
});