如何更改<;部门>;标签使用<;表格>;标记和JavaScript表示一个;“哑巴”;登录?

如何更改<;部门>;标签使用<;表格>;标记和JavaScript表示一个;“哑巴”;登录?,javascript,jquery,html,css,client-side,Javascript,Jquery,Html,Css,Client Side,我在其中有page main.html我在body标记中有以下代码: <form method="post"> <p>Username: <input type="text" id="txt1" /></p> <p>Password: <input type="password" id="pwd1" /><br/></p> <p>

我在其中有page main.html我在body标记中有以下代码:

   <form method="post">
   <p>Username: <input type="text" id="txt1" /></p>
   <p>Password: <input type="password" id="pwd1" /><br/></p>     
      <p>
          <input onclick ="checkAdmin()" class = "login_button" type="submit" 
          name="btn1" value="Login" />
       </p>
   </form>
在css文件中,我有:

 .private_content {
         visibility: hidden
  }
我想在用户单击登录按钮时将可见性更改为可见性。 问题是,当我点击登录按钮时,私人部分会出现片刻,然后消失

顺便问一下,是否有所有常见JavaScript函数的列表?我没有找到一个适合我的 从

编辑-以下代码适用于我:


使用jQuery看起来更好、更方便。这里是一个实现我想要做的事情的示例,只是使用标记,这是相同的想法



注意:您不会在客户端验证或存储密码。在服务器端,你检查身份验证,只存储密码的散列。这是一个好问题,你问的问题很常见。你可以尝试编辑你的代码

<script type="text/javascript">
<!--
   function checkAdmin(){
    document.getElementById("private_content").style.visible="false";
    }
-->
</script>

    <div id="private_content">
     <form method="post">
       <p>Username: <input type="text" id="txt1" /></p>
       <p>Password: <input type="password" id="pwd1" /><br/></p>     
          <p>
              <input onclick ="checkAdmin()" class = "login_button" type="submit" 
              name="btn1" value="Login" />
           </p>
       </form>
    </div> 

用户名:

密码:

你需要有一个区域和一个支持可见和不可见的标记。我使用了id为private的div。\u如果没有该id,你就不可能在单击时将其显示为不可见。你可以在登录检查后通过使用另一个函数visible=true来执行相反的操作

我想在用户单击登录按钮时将可见性更改为可见性

在服务器端执行此操作。如果用户已登录,则不显示表单

问题是,当我点击登录按钮时,私人部分会出现片刻,然后消失

情况就是这样:

  • 您可以修改DOM,使窗体不可见
  • 浏览器提交表单(因为没有
    操作
    属性,所以它会恢复错误并将当前URI用作
    操作
    )。当您将事件处理程序附加到某个对象时,有多种方法可以阻止默认行为的发生,但您不使用任何一种方法
  • 浏览器加载与旧页面相同的新页面,DOM重置为初始状态(表单可见)
  • 处理完表单数据后(确定凭据是否正确,如果正确,则让用户登录),然后使用服务器上的“登录”状态决定根本不在页面中包含表单标记。在这里使用JS没有必要(也没有好处)

    顺便问一下,是否有所有常见JavaScript函数的列表

    我没有找到一个好的开始


    W3C有一个包含一些JS内容的标签。

    使用jQuery看起来更好、更方便。这里是一个例子,它可以做我想做的事情,只需使用
    标签,这与
    的想法是一样的


    根据上下文的不同,这些注释可以是。CSS中没有
    visible
    属性,并且
    visibility
    属性不接受值
    false
    。而且,这根本不能解决问题。学会热爱生活
      function onlyHeader(){
             $("div").hide();
            $("div#login").show();
      }
    
    $(document).ready(function(){
      onlyHeader();
      $("#login_button").click(function(){
        var user = $("#username").val();
        var pass = $("#password").val();
        var ret = checkUser(user,pass);
    
        if (ret) {
            $("div").show();
            $("div#login").hide();
        }
    
        else {
    
            //user is not authorized 
    
        }
    
    
        });
    
    });
    
    <script type="text/javascript">
    <!--
       function checkAdmin(){
        document.getElementById("private_content").style.visible="false";
        }
    -->
    </script>
    
        <div id="private_content">
         <form method="post">
           <p>Username: <input type="text" id="txt1" /></p>
           <p>Password: <input type="password" id="pwd1" /><br/></p>     
              <p>
                  <input onclick ="checkAdmin()" class = "login_button" type="submit" 
                  name="btn1" value="Login" />
               </p>
           </form>
        </div> 
    
      function onlyHeader(){
                 $("div").hide();
            $("div#login").show();
      }
    
    $(document).ready(function(){
          onlyHeader();
          $("#login_button").click(function(){
            var user = $("#username").val();
            var pass = $("#password").val();
            var ret = checkUser(user,pass);
    
        if (ret) {
            $("div").show();
            $("div#login").hide();
        }
    
        else {
    
            //user is not authorized 
    
        }
    
    
    });