Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏的div在它';这是不应该的_Javascript_Html - Fatal编程技术网

Javascript 隐藏的div在它';这是不应该的

Javascript 隐藏的div在它';这是不应该的,javascript,html,Javascript,Html,我有一个登录脚本函数。如果结果不等于“success”,它应该在一个ID为status的div中淡出。不管发生什么事,div都会逐渐消失。尽管它登录并重定向,但您仍然可以看到div开始淡入 JS:*FYI,*是document.getElementById的变量* function login() { var u = _("user").value; var p = _("pass").value; var status = _("status"); v

我有一个登录脚本函数。如果结果不等于“success”,它应该在一个ID为status的div中淡出。不管发生什么事,div都会逐渐消失。尽管它登录并重定向,但您仍然可以看到div开始淡入

JS:*FYI,*是
document.getElementById的变量*

function login() {
    var u = _("user").value;
    var p = _("pass").value;
    var status = _("status");

        var ajax = ajaxObj("POST", "login_script.php");
        ajax.onreadystatechange = function(){
            if(ajax.responseText !== "success"){
                status.innerHTML = ajax.responseText;
                if(_('status').style.display != "block"){
                        fadeIn('status');
                    };
            }
            else{
                window.location.href = "index.php";
            }
        };
        ajax.send(
            "u=" + u
            + "&p=" + p);
}
HTML:

如果有人想测试一下:

用户名:jvincilione3@aol.com 密码:密码


您可以看到我在说什么。

您可以尝试为第二个添加另一个=符号,如果这样的话:

if(_('status').style.display !== "block"){
                    fadeIn('status');
                };
如果不起作用,您可以尝试以下方法:

if(status.style.display !== "block"){
                        fadeIn('status');
                    };

onreadystatechange
可能会触发多次。您需要检查它是否完整

ajax.onreadystatechange=function(){
如果(ajax.readyState==4){//complete
if(ajax.responseText!=“成功”){
status.innerHTML=ajax.responseText;
如果(uz('status').style.display!=“块”){
fadeIn(“状态”);
};
}
否则{
window.location.href=“index.php”;
}
}
};

发布login_script.phpOk的内容。它正在返回success tho,否则它不会重定向我的页面。也发布你的ajaxObj函数。ajax正在工作,它正在返回正确的信息并让我登录。问题是它正在做fadeIn,尽管它正在恢复成功。不管怎样,我正在发布ajaxObj,但这可能不会有任何帮助。嗯,真是太棒了。尝试删除if(display!=“block”)语句后的分号。我们不一定知道ajaxObj的实现细节。它可能没有该财产;无论如何,它不是XMLHttpRequest。即使它触发10000次,第一次触发时,它也应该重定向页面。第一次触发时,您不知道您的请求是否成功。我们可能会触发open、send、header接收等。问题不在if语句中,而是应该完全跳过if语句。
function ajaxObj(meth, url) {
    var x = new XMLHttpRequest();
    x.open(meth, url, true);
    x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    return x;
}
function ajaxReturn(x){
    if(x.readyState == 4 && x.status == 200){
        return true;
    }
}
if(_('status').style.display !== "block"){
                    fadeIn('status');
                };
if(status.style.display !== "block"){
                        fadeIn('status');
                    };