【问题标题】:How to prevent the pop up modal from closing when validation errors验证错误时如何防止弹出模式关闭
【发布时间】:2018-02-01 02:25:49
【问题描述】:

您好,我正在研究如何防止在验证错误时关闭。似乎是因为“POST”而令人耳目一新。

我的html

 <div class="modal fade" id="popupmodal" role="dialog">
    <div class="modal-dialog">
        <div class="content" id="login">
            <?php
        if(isset($_GET['inactive']))
        { ?>
              <div class='alert alert-error'>
                <button class='close' data-dismiss='alert'>&times;</button>
                <strong>Sorry!</strong> This Account is not Activated Go to your Inbox and Activate it.
            </div>
            <?php
        }
        ?>
    <form class="form-signin" method="post">
        <?php
        if(isset($_GET['error']))
        {
            ?>
                 <div class='alert alert-success'>
                <button class='close' data-dismiss='alert'>&times;</button>
                <strong>Wrong Details!</strong>
            </div>
            <?php
        }
        ?>
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <center><img src="images/infor-logo.png"</center>


        <h4 class="form-signin-heading" id="loginfont">Information Development</h4><hr />
        <input type="text" class="input-block-level" placeholder="Username" name="txtemail" required />
        <input type="password" class="input-block-level" placeholder="Password" name="txtupass" required />
        <hr />

        <button class="btn btn-large btn-primary" type="submit" name="btn-login">Sign in</button>

      </form>

    </div>
</div>
</div>

JS

 <script>
$(document).ready(function(){
    $("#login-popup").click(function(){
        $("#popupmodal").modal();
    });
});
</script>

PHP 代码

public function login($uname,$upass)
    {
        try
        {
            $stmt = $this->conn->prepare("SELECT * FROM users WHERE userName=:user_name");
            $stmt->execute(array(":user_name"=>$uname));
            $userRow=$stmt->fetch(PDO::FETCH_ASSOC);

            if($stmt->rowCount() == 1)
            {
                    if($userRow['password'] == $upass)
                    {
                        $_SESSION['userSession'] = $userRow['userID'];
                        return true;
                    }


                else
                {
                    header("Location: index.php?error");


                }
            }
            else
            {
                header("Location: index.php?error");


            }
        }
        catch(PDOException $ex)
        {
            echo $ex->getMessage();
        }
    }

【问题讨论】:

  • 你的html中#login-popup在哪里??
  • 当然,如果您重新加载页面,模式将不会显示。目前尚不清楚您正在尝试做什么以及现在正在发生什么。至少对我来说不是..
  • 登录

  • @Jeff 我忘了包括

标签: javascript php


【解决方案1】:

您需要将带有 AJAX 请求的表单提交给服务器,而不是同步请求。

您可以访问以下链接以供参考: How can I keep the modal window open after login failure?

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签