要实现表单提交后不清空,可以使用以下两种方法:
示例代码如下:
<form id="myForm">
<!-- 表单字段 -->
<input type="text" name="name" />
<input type="email" name="email" />
<!-- 提交按钮 -->
<input type="submit" value="提交" />
</form>
<script>
// 监听表单提交事件
document.getElementById('myForm').addEventListener('submit', function(event) {
event.preventDefault(); // 阻止表单默认提交行为
var form = event.target;
var formData = new FormData(form); // 创建 FormData 对象,用于保存表单数据
// 发送 AJAX 请求
var xhr = new XMLHttpRequest();
xhr.open('POST', form.action);
xhr.onload = function() {
// 请求成功后的处理逻辑
};
xhr.send(formData);
});
</script>
示例代码如下:
<?php
session_start(); // 启动 Session
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 保存表单数据到 Session
$_SESSION['formData'] = $_POST;
// 重定向到另一个页面
header('Location: another_page.php');
exit;
}
// 填充表单数据
$formData = isset($_SESSION['formData']) ? $_SESSION['formData'] : [];
?>
<form method="post">
<!-- 表单字段 -->
<input type="text" name="name" value="<?php echo $formData['name'] ?? ''; ?>" />
<input type="email" name="email" value="<?php echo $formData['email'] ?? ''; ?>" />
<!-- 提交按钮 -->
<input type="submit" value="提交" />
</form>
在上述代码中,首先通过 session_start()
启动 Session,然后在表单提交时将表单数据保存到 $_SESSION['formData']
中。在下一次请求时,通过 $_SESSION['formData']
获取表单数据,并将其填充到表单字段的 value
属性中。
上一篇:php 如何修改文件后缀
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站