有没有办法在两个表单之间传递值。比方说,我有两个html表单。
在表单1中,有一个名为name和submit的字段。
在表格2中,有两个名为姓名和电子邮件的字段以及提交按钮。
我想得到的是,在表单1中,当我填写表单1名称字段并单击提交时,它将带我到表单2,我填写的名称值将插入表单2的名称字段。
这可能吗?
如果是这样,请为我留下想法或片段。
感谢。
答案 0 :(得分:4)
如果表单位于单独的页面中,则可以使用$ _POST数组填充表单2中的值:
第1页
<form action="page2.php" method="post">
name <input type="text" name="name" /><br/>
email <input type="email" name="email" />
<input type="submit" value="submit"/>
</form>
在 page2.php ,抓取来自$ _POST的值,并使用以下值填充表单:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
?>
<form action="pageX.php" method="post">
name <input type="text" name="name" value="<?php echo $name;?>"/><br/>
email <input type="email" name="email" value="<?php echo $email;?>"/>
<input type="submit" value="submit"/>
</form>
显然你需要在page2.php中验证 $ _POST数据,但这是另一个问题......
答案 1 :(得分:0)
没有验证代码,可能缺少某些检查,但是您可以在一个页面中使用两个函数完成所有操作,例如:
function renderForm1($name $error)
{
<?PHP
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
name <input type="text" name="name" /><br/>
<input type="submit" value="getname"/>
</form>
}
function renderForm2($name, $email, $error)
{
<?PHP
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
name <input type="text" name="name" /><br/>
email <input type="email" name="email" />
<input type="submit" value="submit"/>
</form>
}
if (isset($_POST['getname']))
{
if(empty($_POST['name'])
{
$error='bla bla';
renderForm1($name $error)
}
else
{
$name=$_POST['name'];
renderForm2($name, $email, $error)
}
}
elseif (isset($_POST['submit']))
{
do whathever with fomr2
}
else
{
renderForm1($name $error);
}