Php 将表单上的提交延迟5秒并显示jquery对话框?
我需要一些帮助。我试图将表单提交延迟5秒,以便在提交登录表单之前出现jquery对话框加载框 目前我使用的代码确实会延迟提交,但是它会阻止表单提交数据,并且不会让用户登录 我很确定这是因为我在javascript中使用了e.preventDefault,但是如果没有它,它就不能工作。有人能告诉我如何延迟表单提交并成功提交数据,这样它就可以让用户登录了 谢谢Php 将表单上的提交延迟5秒并显示jquery对话框?,php,javascript,html,login,Php,Javascript,Html,Login,我需要一些帮助。我试图将表单提交延迟5秒,以便在提交登录表单之前出现jquery对话框加载框 目前我使用的代码确实会延迟提交,但是它会阻止表单提交数据,并且不会让用户登录 我很确定这是因为我在javascript中使用了e.preventDefault,但是如果没有它,它就不能工作。有人能告诉我如何延迟表单提交并成功提交数据,这样它就可以让用户登录了 谢谢 <div id="login"> <?php if (!logged_in()) {
<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>
电子邮件
密码
登录为,,|
$('#myform')。提交(函数(e){
var form=此;
e、 预防默认值();
setTimeout(函数(){
表单提交();
},3000);//以毫秒为单位
});
$(文档).ready(函数(){
$('#myform').submit(函数(){Shadowbox.open({
内容:“”,
玩家:“html”,
身高:300,
宽度:500
});
});
});
使用单个提交处理程序。我在我的本地系统上尝试了这个方法,效果很好
<script type="text/javascript">
$(document).ready(function() {
$('#myform').submit(function(e) {
var form = this;
e.preventDefault();
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
});
setTimeout(function () {
form.submit();
}, 3000); // in milliseconds
});
});
</script>
$(文档).ready(函数(){
$('#myform')。提交(函数(e){
var form=此;
e、 预防默认值();
暗箱,打开({
内容:“”,
玩家:“html”,
身高:300,
宽度:500
});
setTimeout(函数(){
表单提交();
},3000);//以毫秒为单位
});
});
由于延迟提交并打开dilaogue窗口,但用户未登录,您使用的是什么浏览器等,所以您做了什么来让它为您工作?我使用的是Chrome。为什么要在shadowbox的iframe中加载login.php?form.submit将表单#myform提交到#myform的action属性中指定的页面。你到底打算实现什么?我现在只是把它作为php文件的一个示例,我将使用内容:显示加载的gif。不管出于什么原因,虽然它没有让用户登录,但我不确定你是如何让它工作的。我没有你的login.php服务器端代码,也没有函数logged_in()中的代码。我刚刚测试了延迟和阴影盒。本质上,表单是否在3秒后提交,阴影框是否出现!是否愿意分享上面问题中的login.php和logged_in()?