在php表单提交上重置jquery页面

时间:2011-11-16 16:39:52

标签: php jquery forms

所以我正在制作一个小问答应用程序,一次显示一个问题,为了继续下一个问题,你必须正确回答当前的问题,并且你有尽可能多的尝试...测验完美无缺。当你正确回答完最后一个问题后,会显示一个表格并要求你填写一些信息,以便“quizzer”可以发送给你一份礼物......这份表格的提交是通过php完成的,我确实计划好了实现JQuery / AJAX,但现在我只是测试数据库连接和其他功能,所以我保持简单...我遇到的问题是,当我点击提交页面自动刷新显示第一个问题,而不是输出我的PHP脚本中的任何内容......我不确定我可以包含什么样的代码来帮助任何人解决这个问题,因为我认为这是一个更理论上的问题,但是如果你想让我发布更多信息,请告诉我...... / p>

提前感谢您的帮助,非常感谢!

<form action"/index.php" method="POST">
        Congratulations! You passed! Please enter in your email address and we will send you something cool!<br />
        <input type="text" name="email" /><br />
        <input type="submit" name="submit" value="Submit" />
</form>

3 个答案:

答案 0 :(得分:0)

如果页面提交并回发给自己,表单将按设计重置。您必须添加检测回发的代码,如果为“True”,则使用回发值重新填充表单,以提供数据持久性的外观。

很长一段时间没有使用PHP,但是在.net中你会通过调用来检测回发:

....如果IsPostBack那么....

当你进行回发时,整个页面会重新加载,这样就会再次激活你的Javascript代码。 为了避免这种情况,你应该只用AJAX封装表单来提交表单,这样页面的其余部分就不会回发(包括javascript)。 希望这会给你一些指导。

或者......你可以改变       发布到不同的文件(如/index2.php),这样你就不必担心回发或类似的东西了。

答案 1 :(得分:0)

您是否检查了同一index.php页面上的帖子数据,如:

if(isset($_POST) AND !empty($_POST)) {
   var_dump($_POST);
}

这可能会对您有所帮助。

答案 2 :(得分:0)

我遇到了同样的问题,但使用的是jQuery Mobile。我已经在表单提交上实现了这个,但我需要做的就是刷新查询结果:

onClick="window.location.reload(true)"

这基本上是一个页面刷新,但可能会指向你所需的方向。