如何在错误提交后将文本插入html <textarea>?</textarea>

时间:2011-10-03 08:30:27

标签: php html textarea

假设我有一个这样的表格:

<form action="page.php" method="post">

    Section1: <input name="section1" type="text"></br>
    Section2: <input name="section2" type="text"></br>

    Text:</br>
    <textarea name="post_text" cols="100" rows="20"></textarea>

    <input name="submit" type="submit" value="Submit">

</form>

通常如果我希望保存插入表单字段中的内容,我会使用以下语句:

Section1: <input name="section1" type="text" vale="value="<?php echo $_POST['section1']; ?>""></br>

这样,如果我在提交时出错(错误控制代码未发布),则会保留插入的值,并且无需重新插入。

但是在textarea标签中使用它不会产生所需的结果。

关于如何做的任何想法?

提前致谢!

4 个答案:

答案 0 :(得分:6)

不要忘记htmlspecialchars()。这应该有所帮助:https://developer.mozilla.org/en/HTML/Element/textarea

<textarea name="post_text" cols="100" rows="20"><?php echo htmlspecialchars($_POST['post_text']);?></textarea>

答案 1 :(得分:5)

您可以使用相同的方法,但将echo放在开始和结束<textarea></textarea>标记之间,因为textarea没有'值'(因此)它有文字内容:

<textarea name="post_text" cols="100" rows="20"><?php echo $_POST['textareaContent']; ?></textarea>

答案 2 :(得分:0)

像这样使用$_POST变量。

<textarea name="post_text" cols="100" rows="20"><?= isset($_POST['post_text'])?$_POST['post_text']:'' ?></textarea>

内联条件检查$_POST['post_text']是否设置为删除NOTICE警告

答案 3 :(得分:0)

你会把它放在<textarea>元素中,如下所示:

<textarea name="post_text" cols="100" rows="20"><?php echo $_POST['post_text']; ?></textarea>

但是,直接调用$ _POST元素不是最佳做法。你应该做这样的事情:

<textarea name="post_text" cols="100" rows="20">
<?php echo $var = isset($_POST['post_text']) ? $_POST['post_text'] : ''; ?>
</textarea>

这样可以阻止在第一次页面加载时报告E_NOTICE错误。