阻止重置文本区域
Prevent resetting a textarea
当我按下"发送"按钮时,PHP 会检查字段"pm_to"是否为 <1。如果成功,请打开警报,但是当我在警报上按"确定"时,我在文本区域"area1"中编写的所有文本都将被删除。我该如何防止这种情况?这是代码。
<?
$txtmsg=addslashes($_POST[area1]);
if($_POST[sendpm]=="Invia il messaggio"){
if(strlen($pm_to)<1){
?>
<script type="text/javascript">
alert("Non puoi lasciare il campo destinatario vuoto, riprova.");
</script>
<?
}
}
?>
<form method="POST">
A: <input class="pm_" type="text" name="pm_to" size="15"> Oggetto: <input size="30" class="pm_" type="text" name="pm_subj" >
<br /><br />
<textarea style="height: 200px; width: 800px; text-align: left;" id="area1" name="area1"></textarea>
<br />
<input type="submit" value="Send" name="sendpm">
我不知道 PHP,但我的猜测是,当您从服务器将其发送回客户端时,您需要重新填充 html。像这样的东西?
<textarea style="height: 200px; width: 800px; text-align: left;" id="area1" name="area1">
<? print($_POST[area1])>
</textarea>
HTML 元素在发出表单请求时不会维护其值。您需要手动执行此操作:
<textarea style="height: 200px; width: 800px; text-align: left;" id="area1" name="area1">
<?= isset($_POST['area1']) ? htmlspecialchars($_POST['area1']) : ''; ?>
</textarea>
在这种情况下,我使用内联 if 来检查是否设置了变量$_POST['area1']
。如果是,它会打印您的值 HTML 转义,否则它将打印一个空字符串(无)。
您应该对其他输入执行相同的操作。例如:
<input class="pm_" type="text" name="pm_to" size="15" value="<?= isset($_POST['pm_to']) ? htmlspecialchars($_POST['pm_to']) : ''; ?>">
相关文章:
- 使用jQuery重置文本,同时存在AJAX调用
- 如何从文本区域获取文本,包括换行符
- 无法在文本区域设置文本
- 我可以重置文本输入而不清除它吗
- Ng模型在AngularJS中重置文本区域后未更新
- 在 JavaScript 中重置文本区域高度
- 阻止按钮重置文本框值
- 如何使用户能够通过单击按钮从文本区域复制文本
- 阻止重置文本区域
- 使用 jQuery 捕获文本区域的文本值
- 单击按钮时从文本区域下载文本文件
- 在光标位置上拆分文本区域的文本.(asp.net C#)
- 如何从IE6中的文本区域获取文本
- 输入后重置文本区域
- Extjs组合框在存储区未加载任何结果时保持重置文本值
- 如何在js中向文本区域添加文本
- 为什么不是't我的javascript函数从文本区域提取文本
- 在单个或多个文本区域和文本框中使用多个插入符号
- 键入时用另一个文本区域更新文本区域
- Firefox 不会在您重新加载页面时自动重置文本区域值