2011-06-13 88 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

相关问题