这有点难以解释但我会尽我所能。
我有<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>
有人可以帮我解决这个问题吗?
提前致谢
答案 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>
希望有所帮助