我正在为我的小型项目使用php和javascript。我有一个表格,其中一页中有10个或更多输入。我的问题是,当用户填写诸如文本框和文本区域之类的输入字段时,如果某些条件失败,则在单击提交按钮后返回同一页面。如何获取所有输入字段的值
例如
<form name="form1" method="post" action="">
<label for="textfield">Name</label>
<input type="text" name="textfield" id="textfield"><br/>
<label for="textfield2">Phone</label>
<input type="text" name="textfield2" id="textfield2"><br/>
<label for="textarea">Address</label>
<textarea name="textarea" id="textarea" cols="45" rows="5"></textarea><br />
<input type="submit" name="button" id="button" value="Submit">
</form>
我喜欢将其提交到next.php,但是如果任何原因条件失败,我会立即将其重定向到具有此表单的同一页面。我喜欢按原样填写所有字段。
最佳答案
您可以使用jquery或ajax进行验证(检查条件)。
您需要检查所有条件,然后才能将页面重定向到next.php
如果所有条件都成立,则页面将重定向到next.php,否则页面保持不变。
要么
您可以在php中使用会话。
<?php
session_start();
?>
<form name="form1" method="post" action="">
<label for="textfield">Name</label>
<input type="text" value="<?php echo $_SESSION['textfield_name']; ?>" name="textfield" id="textfield"><br/>
<label for="textfield2">Phone</label>
<input type="text" value="<?php echo $_SESSION['textfield_phone']; ?>" name="textfield2" id="textfield2"><br/>
<label for="textarea">Address</label>
<textarea name="textarea" id="textarea" cols="45" rows="5"><?php echo $_SESSION['textarea_address']; ?></textarea><br />
<input type="submit" name="button" id="button" value="Submit">
</form>
在next.php中
<?php
session_start();
$_SESSION['textfield_name'] = $_POST['textfield_name'];
$_SESSION['textfield_phone'] = $_POST['textfield_phone'];
$_SESSION['textarea_address'] = $_POST['textarea_address'];
// Your conditions here...
redirect("prev.php"); // Redirect to form page.
?>
要么
如果您不想使用会话,则可以在url中传递值。
<form name="form1" method="post" action="">
<label for="textfield">Name</label>
<input type="text" value="<?php echo $_GET['textfield_name']; ?>" name="textfield" id="textfield"><br/>
<label for="textfield2">Phone</label>
<input type="text" value="<?php echo $_GET['textfield_phone']; ?>" name="textfield2" id="textfield2"><br/>
<label for="textarea">Address</label>
<textarea name="textarea" id="textarea" cols="45" rows="5"><?php echo $_GET['textarea_address']; ?></textarea><br />
<input type="submit" name="button" id="button" value="Submit">
</form>
在next.php文件中
<?php
$textfield_name = $_POST['textfield_name'];
$textfield_phone = $_POST['textfield_phone'];
$textarea_address = $_POST['textarea_address'];
// Your conditions here...
redirect("prev.php?textfield_name=$textfield_name&textfield_phone=$textfield_phone&textarea_address=$textarea_address"); // Redirect to form page.
?>