2013-02-01 48 views
1

我需要一些帮助。我试图延迟提交表单5秒,因此在提交登录表单之前会出现一个jQuery对话加载框。延迟5秒提交表单并显示jquery对话?

目前使用的代码IM不耽误提交然而,从提交的数据,并不会登录用户停止形式。

我敢肯定它,因为我的javascript使用e.preventDefault IM但它没有它没有工作,任何人都可以请我告诉我如何可以延迟表单提交并成功提交数据,因此它会记录用户英寸

谢谢。

<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> |&nbsp;&nbsp;&nbsp;&nbsp;<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> 

回答

0

使用单一提交处理程序。我在我的本地系统上试过这个,它可以工作。

<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> 
+0

你做了什么使它为你工作,因为它延迟提交和调出dilaogue窗口但不登录用户,你使用什么浏览器等? –

+0

我正在使用Chrome。你为什么在shadowbox中的iframe中加载login.php? form.submit将提交表单#myform到#myform的action属性中指定的页面。你到底打算做什么? –

+0

即时只使用它作为一个例子的PHP文件在这一刻,即时将要使用的内容: