Javascript 如何同时检查文本框长度和重复项

Javascript 如何同时检查文本框长度和重复项,javascript,php,jquery,Javascript,Php,Jquery,我有一个问题,试图找出这一点,我想检查重复,并检查长度是否小于或等于3在我的用户名文本框。在两个返回有效后,我启用下一个文本框 HTML: PHP: 您是否希望这项工作: function checkUname(uName) { if(window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.

我有一个问题,试图找出这一点,我想检查重复,并检查长度是否小于或等于3在我的用户名文本框。在两个返回有效后,我启用下一个文本框

HTML:

PHP:


您是否希望这项工作:

function checkUname(uName) {

if(window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest();
}
else
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
        if (xmlhttp.responseText === "1"){
            return true;
        } else {
            return false;
        }
    }
};
xmlhttp.open("POST","../Functions/matchUname.php?uName="+uName,true);
xmlhttp.send();
}
然后打电话进来:

if ($("#uName").is(':focus')){//TODO combine check uname function with this one
        if (uName.value.length <= 3){
            msg.innerHTML = "User name is too short";
            pass1.disabled = true;
        }else{
           if(checkUname(uName.value) {
               msg.innerHTML = "User name already in use";
               pass1.disabled = true;
           } else {
               msg.innerHTML = "";
               pass1.disabled = false;
           }
        }
}
if($(“#uName”).is(':focus'){//TODO将check uName函数与此函数结合使用

如果(uName.value.length实际的问题是什么?发生了什么?你有错误吗?你能告诉我你到底有什么错误吗?没有错误两个都在工作问题是我需要pass1文本框处于禁用模式,直到两个函数都完成我尝试通过
chec传递
pass1.dissabled=false
)Uname()如果是这样的话,如果(checkUname(uName.value)注释是我在键入代码时犯的错误,那么它应该与您的注释相同。对checkUname函数做一个小的调整,这应该不会有太大的区别,但请尝试一下
function checkUname() {

    var uName = document.getElementById("uName").value,
        pass1 = document.getElementById("pWord1");

    if(window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4 && xmlhttp.status==200){
            if (xmlhttp.responseText === "1"){
                document.getElementById("msg").innerHTML="Username taken";
            }
        }
    };
    xmlhttp.open("POST","../Functions/matchUname.php?uName="+uName,true);
    xmlhttp.send();
}
<?php

include_once("../iConnect/handShake.php");

if (isset($_REQUEST["uName"])){

    $getUname = "SELECT uName FROM userlogin WHERE uName = :uName";
    $getUnameQuery = $dbConnect -> prepare($getUname);
    $getUnameQuery -> bindParam(':uName', $_REQUEST["uName"]);
    $getUnameQuery -> execute();

    if ($row = $getUnameQuery -> fetch(PDO::FETCH_ASSOC)){
        echo "1";
    }else{
        echo "2";
    }

}
if ($("#uName").is(':focus')){
 if (uName.value.length <= 3){
   msg.innerHTML = "User name is too short";
   pass1.disabled = true;
 }else{
     if(uName.value.length > 0){
        checkUname();
     }
 }}

function checkUname() {

        if(window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange=function(){

            if(xmlhttp.readyState==4 && xmlhttp.status==200){
                if (xmlhttp.responseText === "1"){
                    msg.innerHTML="Username taken";
                    pass1.disabled = true;
                }else{
                    msg.innerHTML = "";
                    pass1.disabled = false;
                }
            }
        };
        xmlhttp.open("POST","../Functions/matchUname.php?uName="+uName.value,true);
        xmlhttp.send();
    }
function checkUname(uName) {

if(window.XMLHttpRequest)
{
    xmlhttp=new XMLHttpRequest();
}
else
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
        if (xmlhttp.responseText === "1"){
            return true;
        } else {
            return false;
        }
    }
};
xmlhttp.open("POST","../Functions/matchUname.php?uName="+uName,true);
xmlhttp.send();
}
if ($("#uName").is(':focus')){//TODO combine check uname function with this one
        if (uName.value.length <= 3){
            msg.innerHTML = "User name is too short";
            pass1.disabled = true;
        }else{
           if(checkUname(uName.value) {
               msg.innerHTML = "User name already in use";
               pass1.disabled = true;
           } else {
               msg.innerHTML = "";
               pass1.disabled = false;
           }
        }
}