0

我有一个表单,我value="<?php echo $_SESSION['myVar']; ?>"在输入中使用,以便在服务器端验证期间重新填充值等值是“粘性的”。我的问题是我如何实际制作重置按钮(type =“reset”)重置表单并删除保存的值。如果可能,我正在寻找不使用 javascript 的解决方案!谢谢!

形式:

<ul>
 <li>
  <label class="label1" for="name"> Name: </label>
  <input class="input1" type="text" name="name" id="name"  maxlength="40" value="<?php echo $_SESSION['name']; ?>" />
 </li>
 <li>
  <label class="label1" for="email"> Email: </label>
  <input class="input1" type="text" name="email" id="email"  maxlength="40" value="<?php echo $_SESSION['email']; ?>" />
 </li>
 <li>
  <label class="label1" for="message"> Message: </label>
  <textarea class="flat input1" name="message" id="message" rows="5" cols="40"><?php echo $_SESSION['message']; ?></textarea>
 </li>
</ul>

表单处理程序:

//save user entered values
$_SESSION['name'] = trim($_POST['name']);
$_SESSION['email'] = trim($_POST['email']);
$_SESSION['message'] = trim($_POST['message']);
4

4 回答 4

1

如果您不想要 javascript,则需要重新加载页面。将此按钮设置为 reset_session.php 的链接,您将在其中编写

$_SESSION['name'] = "";
$_SESSION['email'] = "";
$_SESSION['message'] = "";

然后使用 header() 重定向回表单。如果您想留在页面上,可以向同一页面 (reset_session.php) 发送 ajax 请求,然后更新输入中的值。

于 2012-04-03T21:45:06.967 回答
0

为此,您需要使用 JavaScript。重置将始终重置为加载标记时表单的原始值。

于 2012-04-03T21:44:33.773 回答
0

重置按钮会将表单重置为value属性内的值。就是这样。当您填充这些值时,它将始终重置为这些值。

如果要将其重置为空白值,请不要填充/预填充这些值。

于 2012-04-03T21:44:41.163 回答
0

如果您只使用 php,您可以尝试: unset($_SESSION['myVar']);session_destroy();

于 2012-04-03T21:46:02.333 回答