传递两种形式之间的值

时间:2010-07-29 10:58:36

标签: php javascript html forms

有没有办法在两个表单之间传递值。比方说,我有两个html表单。

在表单1中,有一个名为name和submit的字段。

在表格2中,有两个名为姓名和电子邮件的字段以及提交按钮。

我想得到的是,在表单1中,当我填写表单1名称字段并单击提交时,它将带我到表单2,我填写的名称值将插入表单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);
}
相关问题