表单动作显示隐藏的div然后转到表单动作中的.php页面?

时间:2014-04-08 14:42:44

标签: php jquery

这有点难以解释但我会尽我所能。

我有<form>有动作。在表单操作中,我有一个.php文件,在提交表单后执行一些PHP函数。这很好。

我的页面中还有一个带有display:none;的div,其中包含表单。

现在,我想要做的是显示提交表单后隐藏几秒钟的DIV,然后转到表单操作.php page,以便它可以执行PHP函数。

我确实尝试了以下代码,但是它会显示隐藏的div并且不会执行PHP页面,也不会将其转到表单操作中的.php页面!

我考虑过使用AJAX,但是AJAX执行场景背后的PHP代码/页面,因此它不会将用户引导到表单操作中的.php页面。我需要用户转到.php页面,因此使用AJAX是不可能的。

以下是表单代码:

<form action="execute.php" method="post" name="orderform" class="register">
  <input name="firstname" type="text" class="long" id="firstname"  />
  <input name="lastname" type="text" id="lastname"  />
</form>

以下是显示隐藏div的代码:

<script type="text/javascript">
   $("#submit").click(function(){
     $( "#div" ).show('slow');
   });
</script> 

有人可以帮我解决这个问题吗?

提前致谢

3 个答案:

答案 0 :(得分:2)

使用属于show功能

complete回调
<form action="execute.php" method="post" name="orderform" class="register" id="myform">
  <input name="firstname" type="text" class="long" id="firstname"  />
  <input name="lastname" type="text" id="lastname"  />
</form>
<script type="text/javascript">
   $("#submit").click(function(){
     $( "#div" ).show('slow', function(){$("#myform").submit()});
   });
</script>

答案 1 :(得分:1)

$("#submit").click(function(){
     $( "#div" ).show('slow');
     setTimeout(function(){$('form[name=orderform]').submit();},5000);
     e.preventDefault();
   });

答案 2 :(得分:0)

您可以调用ajax函数,当它“完成工作”时,您会重定向用户,如:

<script type="text/javascript">
   $("#submit").click(function(){
     $( "#div" ).show('slow');
       $.ajax("page.php", { 
          data: $('form[name=orderform]').serialize()
       }).done(function(returnedData){
          location.href = 'theUrlYouWant.php?stuff=' + returnedData;
       });
   });
</script>

希望有所帮助