我有一个表单,我在输入中使用value="<?php echo $_SESSION['myVar']; ?>"
,以便值为“粘性”,以便在服务器端验证期间重新填充值等。我的问题是如何制作重置按钮(type =“reset”)实际上重置了表单并删除了保存的值。我正在寻找一个不使用javascript 的解决方案,如果可能的话!谢谢!
FORM:
<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>
FORM HANDLER:
//save user entered values
$_SESSION['name'] = trim($_POST['name']);
$_SESSION['email'] = trim($_POST['email']);
$_SESSION['message'] = trim($_POST['message']);
答案 0 :(得分:1)
如果您不想使用javascript,则需要重新加载页面。使此按钮成为reset_session.php的链接,您只需编写
$_SESSION['name'] = "";
$_SESSION['email'] = "";
$_SESSION['message'] = "";
然后使用header()重定向回表单。如果您想留在页面上,可以将ajax请求发送到同一页面(reset_session.php),然后更新输入中的值。
答案 1 :(得分:0)
您需要使用JavaScript。重置将始终重置为加载标记时表单的原始值。
答案 2 :(得分:0)
“重置”按钮会将表单重置为value
属性中的值。就是这样。在填充这些值时,它将始终重置为这些值。
如果要将其重置为空值,请不要填充/预填充这些值。
答案 3 :(得分:0)
如果你只使用php,你可以试试:
unset($_SESSION['myVar']);
或session_destroy();