我需要一些帮助。我试图将表单的提交延迟 5 秒,以便在提交登录表单之前出现一个 jquery 对话框加载框。
目前,我使用的代码确实会延迟提交,但它会阻止表单提交数据并且不会让用户登录。
我很确定这是因为我在我的 javascript 中使用了 e.preventDefault 但是没有它它就无法工作,谁能告诉我如何延迟表单提交并成功提交数据,以便它确实登录用户。
谢谢。
<div id="login">
      <?php
        if (!logged_in()) {
            ?>
      <form id="myform" form action="login.php" rel="shadowbox" method="post" class="loginform">
    Email
      <input type="text" name="email" maxlength="30" />
    Password
    <input type="password" name="password" maxlength="30" />
    <input type="image" src="../PTB1/assets/img/icons/loginarrow1.png" name="submit" class="loginbutton" value="Login" />
                </form>
               <?php
        }
        if (logged_in()) {
            ?>
                 Logged in as, <?php echo $_SESSION['email'] ?>. <a href="dashboard.php">Dashboard</a>, <a href="logout.php">Logout</a> |    <a href="dashboard.php"><div class="login_settings" id="login_settings"></div></a>
    <?php
        }
        ?></div>
        <script>
        $('#myform').submit(function (e) {
        var form = this;
        e.preventDefault();
        setTimeout(function () {
            form.submit();
        }, 3000); // in milliseconds
    });
    </script>
        <script>
        $(document).ready(function() {
        $('#myform').submit(function() {Shadowbox.open({
            content:    '<iframe src="login.php" width="500" height="300" scrolling="no" style="overflow:hidden; border:none;"></iframe>',
            player:     "html",
            height:     300,
            width:      500
        });
             });
        });
    </script>