如何在文本框模糊事件上隐藏元素并在焦点上再次显示它

时间:2015-02-20 16:36:45

标签: javascript

我正在检查用户名可用性。当在用户名文本框上设置焦点时,用户名可用性是使用ajax显示onkeyup事件。 但是,当设置焦点或选择其他文本框时,可以使用'用户名'或者'不可用'文本不会隐藏它除了用户名文本框之外还保留在那里 所以请给我一些隐藏文本的代码。 这是我的jsp页面

    <script type="text/javascript" >
function cleanup(){
    document.getElementById("usernameAvail").removeAttribute("value");
}


function loadXMLDoc()
{
    var xmlhttp;
    var j = document.getElementById("usertype").value;
    var k=document.getElementById("username").value;


    if(j=="students")
    {   

        var urls="passS.jsp?ver="+k;
        if (window.XMLHttpRequest)
          {
          xmlhttp=new XMLHttpRequest();
          }
        else
          {
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4)
            {
                //document.getElementById("err").style.color="red";
                document.getElementById("usernameAvail").innerHTML=xmlhttp.responseText; 
            }
          }
        xmlhttp.open("POST",urls,true);
        xmlhttp.send(); 
    }   
    else if(j=="mentors")
    {
        var urls="passM.jsp?ver="+k;
        if (window.XMLHttpRequest)
          {
          xmlhttp=new XMLHttpRequest();
          }
        else
          {
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        xmlhttp.onreadystatechange=function()
          {
          if (xmlhttp.readyState==4)
            {
                //document.getElementById("err").style.color="red";
                document.getElementById("usernameAvail").innerHTML=xmlhttp.responseText; 
            }
          }
        xmlhttp.open("POST",urls,true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>
<div id="container">
    <div id="header">
        <p id="heading">Please Register</p>
    </div>
    <div id="hr"></div>
    <div id="content">
        <form id="RegistrationForm" action="RegisterServlet" method="post">

                <p><label for="usertype">User Type</label></p>

                <select id="usertype" name="usertype">
                    <option disabled selected>select user</option>
                    <option value="mentors">Mentor</option>
                    <option value="students">Student</option>
                </select>

                <p><label for="username">User Name</label></p>
                <input id="username" type="text" name="username" placeholder="Enter Username" onblur="cleanup()" onkeyup="loadXMLDoc()" />
                <span id="usernameAvail"></span>

                <p><label for="firstname">First Name</label></p>
                <input id="firstname" type="text" name="firstname" placeholder="Enter First Name" />

                <p><label for="lastname">Last Name</label></p>
                <input id="lastname" type="text" name="lastname" placeholder="Enter Last Name" />

                <p><label for="email">Email ID</label></p>
                <input id="email" type="email" name="email" placeholder="Enter Email" />                

                <p><label for="password">Password</label></p>
                <input id="password" type="password" name="password" placeholder="Password" />          

                <p><label for="cpassword">Confirm password</label></p>
                <input id="cpassword" type="password" name="password" placeholder="Confirm password" />

                <br />
                <br />
                <input class="button" type="submit" name="submit" value="Sign Up"/>
                <input class="button" type="reset" name="reset" value="Reset"/>

        </form>
        </div>

2 个答案:

答案 0 :(得分:0)

关于模糊事件,您可以直接删除。在删除之前只需检入输入字段值是否存在。如果存在,请不要将其删除,否则您可以删除它。

我希望这会对你有所帮助。

答案 1 :(得分:0)

我建议您使用“ onblur ”事件而不是“ keyup ”事件。要隐藏“错误”或“成功”消息,您可以使用 Jquery 插件在几秒钟后自动隐藏这两封邮件。如下面两个例子。

http://pjdietz.com/jquery-plugins/freeow/

http://www.myjqueryplugins.com/jquery-plugin/jnotify#field_screenshots

此外,我建议您使用Jquery Ajax方法,而不是使用简单的“ xmlhttp ”。以下是使用Jquery Ajax的示例。

http://www.tutorialspoint.com/jquery/jquery-ajax.htm

希望有所帮助。!!