我在一个页面上有 2 个表格,一个在另一个下方。
我希望第二种形式应始终处于禁用模式。
并且一旦第一个表单提交按钮被按下并验证,第二个应该被激活以在其中输入数据。
PHP中有什么可以帮助我的吗
我在一个页面上有 2 个表格,一个在另一个下方。
我希望第二种形式应始终处于禁用模式。
并且一旦第一个表单提交按钮被按下并验证,第二个应该被激活以在其中输入数据。
PHP中有什么可以帮助我的吗
你有两种方法:
1) 使用 ajax 发送对第一个表单的验证,如果收到“true”,则启用第二个表单。
2) 从第一个表单进行 POST,如果一切正常,将“已验证”设置为“真”并重新加载同一页面。在第二种形式中,“启用”必须仅在您拥有 $validated = true; 时才有效。
下面的逻辑应该可以帮助您作为起点:
<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 验证第一个表单或让表单出现在单独的页面上会更可靠。
这很简单,只需使用 if else 条件。
// 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.
}
您可以通过在第二种形式中的所有输入上设置一个类并将它们设置为disabled
当然知道一点javascript的人将能够更改它来做到这一点。
所以你可以把它作为你的视觉层,但是如果有人想偷偷溜进去,如果可以通过第二种形式,也可以检查 PHP。
更复杂的方法是显示看起来像表单字段的图像,并且只将它们更改为提交第一个表单的输入。这可以在客户端或服务器端完成
所以实际上你会有 3 种形式,但一种是“假的”
<?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>
这有点像你在找的,我希望