2011-06-13 78 views
2

比方說,我的用戶填寫表單並點擊提交按鈕後,我希望用戶重定向到與表單相同的頁面,並且將會播放jQuery動畫。頭部函數用於防止用戶刷新頁面並重新提交相同的數據。如何重定向到同一頁面後調用jquery函數?

更新: 我已經決定使用$ _SESSION來記錄用戶的會話,試圖讓jQuery的動畫發揮他們重定向到同一頁面後:

<?php 
session_start(); 

if (isset ($_POST['submit'])) 
{ 
$connect = mysql_connect("","","") or die("Error connecting to db"); 
mysql_select_db("") or die("Error connecting to db"); 

$text = $_POST['text']; 



mysql_query ("INSERT INTO header VALUES('','$text')"); 

    $_SESSION['jq']=='a'; 
    header('Location: header.php'); 
    die(); 

} 


if($_SESSION['jq']=='a') { 
    $_SESSION['jq']=''; 

echo' 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    $("div").hide(3000); 

}); 
</script>'; 


} 




?> 



<html> 
<head> 

<style type="text/css"> 
#jquery {border:1px solid black;width:300px;} 
</style> 

</head> 
<body> 
<form name="header" action="header.php" method="post"> 


<input type="text" name="text" /> 
<input type="submit" name="submit" value="submit" /> 
</form> 
<div id="jquery">this is jquery animation</div> 

</body> 
</html> 
+0

嗯,就是這樣。頁面是否重新加載了任何內容,或者你只是想知道如何播放動畫?如果是這樣,你*有*要更多地指定你想要什麼動畫,或者你應該改變評論爲「在這裏插入一些隨機動畫」。 – GolezTrol 2011-06-13 06:58:36

+0

是的,它可以是任何種類的動畫 – user701510 2011-06-13 07:33:37

+0

添加一個「光滑的」因素,通過ajax提交併使用成功回調來激發你的動畫。 – bpeterson76 2011-06-13 19:57:11

回答

4

使用這樣

if (isset ($_POST['submit'])) 
{ 
    $text = $_POST['text']; 
    mysql_query ("INSERT INTO header VALUES('','$text')"); 

    //redirect to same page that user submitted form from 
    header('Location: form.php?jq=a'); 
    die(); 
} 
if($_GET['jq']=='a') { 
    //play animation 
    echo'<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

     //insert jquery animation code 

    }); 
    </script>'; 
} 

或者

session_start(); 
if (isset ($_POST['submit'])) 
{ 
    $text = $_POST['text']; 
    mysql_query ("INSERT INTO header VALUES('','$text')"); 

    //redirect to same page that user submitted form from 
    //$_SESSION['jq']=='a'; commented for your understanding remove this in your code. 
    $_SESSION['jq']='a'; 
    header('Location: form.php'); 
    die(); 
} 
if($_SESSION['jq']=='a') { 
    $_SESSION['jq']=''; 
    //play animation 
    echo'<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

     //insert jquery animation code 

    }); 
    </script>'; 
} 
+0

,數據被髮送到SQL表,但動畫不播放。請幫忙! – user701510 2011-06-13 10:17:41

+0

對不起,我錯過了..添加模頭或退出功能後標題功能.. – Jagadeesan 2011-06-13 10:28:58

+0

對不起,但它仍然不工作後,我加入死(); – user701510 2011-06-13 10:38:07

1

你就不能讓用戶保持在同一頁面上,並在同一頁面上處理表單提交(通過將表單的action屬性設置爲表單所在的頁面)?

這將處理重定向問題。然後,您可以在原始頁面中添加jQuery動畫代碼,並在if(isset($_POST['submit']))語句中啓動動畫。

+0

好吧,頭文件的功能是阻止他們刷新頁面並用$ _SESSION重新提交第二個方法的數據 – user701510 2011-06-13 07:21:54

1

可以使用jQuery form plugin

+0

也許你可以提供一個例子嗎? – Belinda 2011-06-13 13:31:56

+0

閱讀此:http://jquery.malsup.com/form/ – X10nD 2011-06-13 19:13:08

相關問題