2013-01-24 43 views
1

我有2个表单在一个页面上,一个在另一个下面。2个表单与一个PHP文件

我想有这样的第二种形式应始终处于禁用模式。

并且一旦第一个表单提交按钮被按下并且验证第二个应该被激活来输入其中的数据。

是否有PHP任何可以帮助我在此

+0

'如果'声明可以帮助,我相信 –

+2

有两个页面?! –

+0

我明白,如果声明,但第二种形式应该是在禁用模式(如无效,你不能输入数据) – Parab

回答

0
<?php 
    if(isset($_POST['next'])) { 
     if($_POST['name']!="") { 
      $disabled = ""; 
      $val = $_POST['name']; 
     } else { 
      $disabled = " disabled='disabled'"; 
      $val=""; 
     } 
    } else { 
     $disabled = " disabled='disabled'"; 
     $val=""; 
    } 

?> 

<html> 
    <head> 
    <title></title> 
    </head> 
    <body> 
     <form id="frm1" name="frm1" method="POST" action=""> 
      <label>Name</label><input type="text" id="name" name="name" value="<?php echo $val;?>"/> 
      <input type="submit" name="next" id="next_frm" value="Next"/> 
     </form> 
     <form name="frm2" id="frm2" method="POST" action=""> 
      <label>Address</label><input type="text" name="address" id="address" value="" <?php echo $disabled;?>/> 
      <input type="submit" name="save" id="save" value="Save" <?php echo $disabled;?>/> 
     </form> 
    </body> 
</html> 

这在一定程度上你要找的人,我希望

+0

嗨罗杰,感谢您的回复,但我不想打电话给jquery – Parab

+0

@Parab:Modified。你可以检查 – Roger

+0

嗨罗杰,它的Wrking罚款!谢谢你的欢呼! :) – Parab

2

你有2种方式:

1)用ajax发送第一种形式的验证,并且,如果你收到“真”,使第二种形式。

2)从第一个表单开始POST,如果一切正常,将“validated”设置为“true”并重新加载相同的页面。在第二种形式中,只有您有$ validated = true时才能使用“enable”;

+0

HI Andrej,感谢您的宝贵回应,但我不想使用ajax,它只有PHP我需要 – Parab

+0

ajax - 它也是PHP。 尝试去我描述的第二种方式,它不需要ajax。 –

+0

Andrej,我会尝试第二个 – Parab

0

这很简单,只要使用其他条件。

// this if condition checks whether the form 1 is submitted or not. If form1 is submitted than form 2 is displayed else form1 wil only be displayed  
if(isset($_POST['submit'])) 
{ 
    //Display your form 2. 
} 

else 
{ 
    //Display your form1. 
} 
1

下面的逻辑应该帮助你作为一个起点:

<form method="post"> 
    <input type="text" name="name" /> 
    <input type="submit" name="form1" value="Proceed" /> 
</form> 

<form method="post"> 
    <input type="text" name="email"<?php if(!isset($_POST['form1'])) { echo ' disabled="disabled"'; } ?> /> 
    <input type="submit" name="form2" value="Submit"<?php if(!isset($_POST['form1'])) { echo ' disabled="disabled"'; } ?> /> 
</form> 

当然,这将是更可靠为使用AJAX来验证第一种形式,或有形式出现在单独的页面上。

0

您可以通过在第二种形式的所有输入上设置一个类并将它们设置为disabled,当然知道一点javascript的人可以更改它。

所以,你可以做到这一点作为你的视觉层,但随后在PHP检查,以及如果第二表格可万一有人被传递想偷偷东西。

更复杂的方法是表明看图片就像表单域一样,只是把它们改成提交第一个表单的输入。这可以在客户端或服务器端在现实中做

所以,你将有3种形式,但一个是“假的”