Jquery不显示按钮

尝试在登录失败时显示提交按钮,但无法显示。


我的代码:-


<html>


<head>

<script src="https://code.jquery.com/jquery-3.5.1.min.js" ></script>

  <style>

    .hiddenFramehideclass {

      position: absolute;

      top: -1px;

      left: -1px;

      width: 1px;

      height: 1px;

    }

  </style>

</head>


<body>

  <form method="post" class="needs-validation" action="" enctype="multipart/form-data" id="loginform" target="hiddenFrame">

    <h2>Login</h2>

    <hr />

    <label for="emailid">Email: </label>

    <input id="emailid" type="text" placeholder="Email" name="txtulogindetail" required />

    <br /><br /><br />

    <label for="passwordid">Password: </label>

    <input id="passwordid" type="password" placeholder="Password" name="txtupass" required />

    <hr />

    <button type="submit" class="btn btn-success" name="btn-login" id="loginsubmitbutton">Sign in</button>

    <br /><br /><br />

    <span id="register_link"> <a href= "register">Register!</a></span>


    <hr />



  </form>


  <iframe name="hiddenFrame" class="hiddenFramehideclass"></iframe>

</body>


<script>

  /*Submit Button Clicked Function Starts */


  $("#loginsubmitbutton").click(function() {


    $("#loginsubmitbutton").hide(); //Hiding submit button

    $("#register_link").hide(); //Hiding Register Link


    /*Making Inputs to readonly Starts*/


    $("input").css({

      'pointer-events': 'none'

    });


    /*Making Inputs to readonly Ends*/



  });


  /*Submit Button Clicked Function Ends */

</script>

因此,当我尝试使用上述代码登录时:

  1. 当凭据正确时,它会提醒“已登录” 。

  2. 当凭据不正确(密码不正确)时,它才会发出错误警报(但根据代码,它应该再次显示提交按钮。)

  3. 当未找到电子邮件时,它会提醒电子邮件未找到


富国沪深
浏览 155回答 2
2回答

缥缈止盈

您的脚本正在iframe中运行。并且您的脚本想要更改parent中的内容。为此,您应该告诉代码在哪里执行。(父级。$()......)下面将帮助您获取提交按钮。echo '<script>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; parent.$("#loginsubmitbutton").show(); //Hiding submit button&nbsp; &nbsp; parent.$("#register_link").show(); //Hiding Register Link&nbsp;&nbsp; &nbsp; //alert("Error");&nbsp; &nbsp; </script>';

ABOUTYOU

事情是alert 在任何 DOM 操作之前首先执行。您必须等待文件准备好。尝试这样的事情:echo '<script>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $(document).ready(function(){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$("#loginsubmitbutton").show(); //Hiding submit button&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$("#register_link").show(); //Hiding Register Link&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; </script>';此外,如果您保留警报,则 DOM 操作将在关闭警报后进行。因此,如果你想处理这个问题,你必须触发一些事件并添加一个监听器来发出警报。
打开App,查看更多内容
随时随地看视频慕课网APP