Php 在同一页上有两个表单,但仅在提交第一个表单后加载第二个表单
所以我想做的是,在加载时显示一个表单,它要求用户提供他们的详细信息,如姓名等,然后一旦用户单击提交,我想将这些信息传递到下一个表单,我知道我必须隐藏这些字段 我希望在他们单击submit后显示另一个表单,这一切都必须使用POSTBACK完成,因此在一个php页面上有两个表单,但在第一个表单提交后只显示第二个表单 我知道我可以通过创建两个不同的php文件和使用头文件来实现这一点,但我想学习如何通过回发来实现这一点Php 在同一页上有两个表单,但仅在提交第一个表单后加载第二个表单,php,html,postback,Php,Html,Postback,所以我想做的是,在加载时显示一个表单,它要求用户提供他们的详细信息,如姓名等,然后一旦用户单击提交,我想将这些信息传递到下一个表单,我知道我必须隐藏这些字段 我希望在他们单击submit后显示另一个表单,这一切都必须使用POSTBACK完成,因此在一个php页面上有两个表单,但在第一个表单提交后只显示第二个表单 我知道我可以通过创建两个不同的php文件和使用头文件来实现这一点,但我想学习如何通过回发来实现这一点 <form name="firstform" method="post" a
<form name="firstform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> " onSubmit="return validator();">
<p>Please fill in the following form</p>
<p>Given Name* <input type="text" name="fname" id="fname"/><br/>
Middle Name <input type="text" name="mname"/><br />
Family Name* <input type="text" name="lname" id="lname"/><br />
Chosen Username* <input type="text" name="uname"/>
</p>
<p><input type="submit" value="submit" id="submit"/>
</form>
<form name="secondform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> " >
Test* <input type = "text" name="test"/>
</form>
如果这只是一个快速表单,您可以使用jquery和Javascript
有一个nice允许您异步发送HTML表单
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
// Hide all forms
$('form').hide();
// Show the first form
$('form').eq(0).show();
$('form').eq(0).on('submit', function() {
// Submit via ajax
// Unhide second form
$(this).hide();
$('form').eq(1).show();
return false;
});
});
</script>
$(文档).ready(函数(){
//隐藏所有形式
$('form').hide();
//显示第一个表单
$('form').eq(0.show();
$('form').eq(0).on('submit',function(){
//通过ajax提交
//取消隐藏第二个表单
$(this.hide();
$('form').eq(1).show();
返回false;
});
});
我将验证第一个表单数据是否正确,然后测试表单是否已提交且没有错误
if (isset($_POST['submit']) && empty($errors)) {
// Output second form
} else {
// Output first form
}
您可以将第一组数据发送到数据库,也可以将它们作为隐藏字段添加到第二个表单中
这是假设您将任何生成的错误放入名为$errors的数组中