2016-02-08 60 views
0

从窗体提交我的数据后,我没有立即在屏幕上看到它,我必须通过浏览器刷新按钮来刷新它。提交表单后自动刷新页面

<form action="" method="post"> 

<input type="submit" name="submit" > 

我用的是setTimeout功能,但它给了我很多的问题提交到数据库并从中检索。我无法正确调试,所以我删除了这个功能。没有setTimeout,我可以存储在数据库中并通过刷新按钮进行检索。但是,如何使其立即自动刷新?

+0

首先,把你的B连接在这里,第二,你可以使用恢复功能来自你的数据库的信息,然后,在插入查询后,再次调用函数! –

+0

了解更多更多...这不是一个有效的问题。 – Monty

回答

1

我有jQuery和AJAX的帮助下完成,无需刷新和页面加载 HTML文件与阿贾克斯

<html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 

      $("#sub").click(function(){ 

       $.ajax({ 
          url: 'dbadd.php', 
          type: 'POST', 
          data: {naam:$("#nm").val()}, 
          success:function(response){ 
           $("#d1").html(response) 
          } 
         }); 
      }); 

     }); 
    </script> 
    </head> 
    <form method="post"> 
     Name : <input type="text" id="nm" name="name"> 
     <div id="d1"></div> 
    <input type="button" name="submit" id="sub" value="submit"> 
    </form> 
    </html> 

php文件:adddb.php

<?php 
    $con=mysql_connect("localhost","root"); 
    mysql_select_db("empl",$con); 
    $q=mysql_query("insert into emp(name) values ('".$_POST['naam']."')"); 
    $qq=mysql_query("select name from emp where name='".$_POST['naam']."'"); 
    while ($data=mysql_fetch_object($qq)) { 
     echo $data->name; 

    } 
?> 
+0

任何更简单的方法来做到这一点? – user2885237

0

设置你的行动: <?php echo $_SERVER['PHP_SELF']?>

它会做的。

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 

动作是触发如何处理数据的指令。如果你没有指定浏览器应该如何进行交流?

+0

莫名其妙地工作。 – user2885237

+0

任何其他解决方案?正如我试过这样,它不刷新我的页面与最新的数据库条目。在提交值之前,它仍然显示我的页面。 – user2885237

1

对于刷新页面使用此代码:

<META HTTP-EQUIV ='Refresh' Content ='0; URL =/'> 

您可以使用像你的代码为此:

<?php echo "<META HTTP-EQUIV ='Refresh' Content ='0; URL =/'>"; ?> 
+0

你的意思是内部形式的行动部分?或者分开 – user2885237

+0

结束你的php代码。当你的数据成功存储在数据库中时。 –