每当我单击表单提交按钮时,textarea 内容会自动清除 [PHP]
textarea content auto clears whenever i click the form submit button [PHP]
我有一个带有表单提交按钮的文本区域。每当我单击提交按钮时,textarea 上的内容都会被清除。但我不想清除我的文本区域的内容。这是我的代码
codepage.php
<?php
$ans = "hello";
if (isset($_POST['textcode'])) {
{
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="validatePHP">
<textarea name="textcode"></textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>
感谢您的回答!有效。现在我有另一个问题,如果 textarea 中已经有一个预加载的文本,当我在其中输入另一个文本并单击提交按钮时,textarea 现在应该有我输入的文本和 textarea 中的预加载文本.
这是我更新后的代码
<?php
$ans = "hello";
if (isset($_POST['textcode'])) {
{
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="validatePHP">
<textarea name="textcode"><?php if(isset($_POST['textcode'])) {
echo htmlentities ($_POST['textcode']); }?>hell</textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>
提交后尝试渲染内容
<textarea name="textcode"><?= $_POST['textcode']; ?></textarea>
也许你可以用 $_SESSION 来做?
在页面顶部键入 session_start();
然后里面
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
像这样添加代码 $_SESSION['textareaMsg'] = $_POST['textcode'];
...
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
$_SESSION['textareaMsg'] = $_POST['textcode'];
}
那么你的文本区域设置的地方就用这个替换它。
<?php
if(isset($_SESSION['textareaMsg'])){
echo '<textarea name="textcode">'.$_SESSION['textareaMsg'].'</textarea>';
}else{
echo '<textarea name="textcode"></textarea>';
}
?>
这通过在提交表单时将文本区域保存为会话变量来工作,并在加载表单时检查它是否已设置,如果是,那么它将用设置的内容替换文本区域的内容在会话中。希望这对您有所帮助!
<textarea name="textcode">
<?php if(isset($_POST['textcode'])) {
echo htmlentities ($_POST['textcode']); }?>
</textarea>
试试下面的代码
<?php
$ans = "hello";
$textcode = ""; //declare a variable without value to avoid undefined error
if (isset($_POST['textcode'])) {
{
$textcode=$_POST['textcode']; //assign the value to variable in you if statment
if ($textcode == $ans) { //useing variable in if statment
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="test.php">
<!--echo user input -->
<textarea name="textcode"><?php echo $textcode; ?></textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>
我有一个带有表单提交按钮的文本区域。每当我单击提交按钮时,textarea 上的内容都会被清除。但我不想清除我的文本区域的内容。这是我的代码
codepage.php
<?php
$ans = "hello";
if (isset($_POST['textcode'])) {
{
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="validatePHP">
<textarea name="textcode"></textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>
感谢您的回答!有效。现在我有另一个问题,如果 textarea 中已经有一个预加载的文本,当我在其中输入另一个文本并单击提交按钮时,textarea 现在应该有我输入的文本和 textarea 中的预加载文本.
这是我更新后的代码
<?php
$ans = "hello";
if (isset($_POST['textcode'])) {
{
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="validatePHP">
<textarea name="textcode"><?php if(isset($_POST['textcode'])) {
echo htmlentities ($_POST['textcode']); }?>hell</textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>
提交后尝试渲染内容
<textarea name="textcode"><?= $_POST['textcode']; ?></textarea>
也许你可以用 $_SESSION 来做?
在页面顶部键入 session_start();
然后里面
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
}
像这样添加代码 $_SESSION['textareaMsg'] = $_POST['textcode'];
...
if ($_POST['textcode'] == $ans) {
echo "<div id=errorPlace>proceed to next lesson</div>";
$_SESSION['textareaMsg'] = $_POST['textcode'];
}
那么你的文本区域设置的地方就用这个替换它。
<?php
if(isset($_SESSION['textareaMsg'])){
echo '<textarea name="textcode">'.$_SESSION['textareaMsg'].'</textarea>';
}else{
echo '<textarea name="textcode"></textarea>';
}
?>
这通过在提交表单时将文本区域保存为会话变量来工作,并在加载表单时检查它是否已设置,如果是,那么它将用设置的内容替换文本区域的内容在会话中。希望这对您有所帮助!
<textarea name="textcode">
<?php if(isset($_POST['textcode'])) {
echo htmlentities ($_POST['textcode']); }?>
</textarea>
试试下面的代码
<?php
$ans = "hello";
$textcode = ""; //declare a variable without value to avoid undefined error
if (isset($_POST['textcode'])) {
{
$textcode=$_POST['textcode']; //assign the value to variable in you if statment
if ($textcode == $ans) { //useing variable in if statment
echo "<div id=errorPlace>proceed to next lesson</div>";
}
else
{
echo "<div id=errorPlace>Error</div>";
}
}
}
?>
<form method="POST" name="test.php">
<!--echo user input -->
<textarea name="textcode"><?php echo $textcode; ?></textarea>
<input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
</form>