我需要一些帮助。我试图将表单的提交延迟 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>