AJAXがデータを取得した後、天気を示す適切なメッセージを表示するために、ユーザーがログインしているかどうかを示すために、クレチンウィンドウを開いたままにしようとすると問題が発生します。私のJavascriptは次のとおりです。
function validLogin(){
var username=$('#username').val();
var password=$('#password').val();
var dataString = 'username='+ username + '&password='+ password;
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="images/loading.gif" width="32px" height="32px" />');
$.ajax({
type: "POST",
url: "login.php",
data: dataString,
cache: true,
success: function(result){
var result=trim(result);
$("#flash").hide();
if(result=='correct'){
$("fieldset#signin_menu").show(); // <-- This will not work!
}else{
$("#errorMessage").html(result);
}
}
情報を取得した後、ウィンドウは開いたままになります。ただし、ページが更新され、ウィンドウが閉じます。「サインイン」を押すと、これはonclickイベントです。ウィンドウがポップアップ表示されます。ポップアップするそのウィンドウのコードは次のとおりです。
$(document).ready(function() {
$(".signin").click(function(e) {
e.preventDefault();
$("fieldset#signin_menu").toggle();
$(".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();
}
});
これに対するより良い回避策はありますか?私はこれを間違っていますか?