形式textarea isset

时间:2013-02-10 07:06:01

标签: php html

这是php / html表单textarea代码

<textarea name="txtDispMsg" cols="1" rows="1"  value="<?php if(isset($disp_msg)){echo $disp_msg;} ?>" <?php if(isset($flag) && $flag == 4){echo "div style = 'border:2px solid red;'" . "/div";}?>></textarea>

这里我检查用户是否在textarea中输入了值,无论表格中是否有任何其他错误,它都会留在那里。所以表格中其他字段的数据保留在那里..但不是textarea。为什么?

我使用错误的方法设置/修复textarea的值吗?虽然它适用于普通文本字段

2 个答案:

答案 0 :(得分:2)

值未在textarea中使用,请更改

<textarea name="txtDispMsg" cols="1" rows="1"  value="<?php if(isset($disp_msg)){echo $disp_msg;} ?>" <?php if(isset($flag) && $flag == 4){echo "div style = 'border:2px solid red;'" . "/div";}?>></textarea>

<textarea name="txtDispMsg" cols="1" rows="1">
<?php if(isset($disp_msg)){echo $disp_msg;} elseif(isset($flag) && $flag == 4){echo "<div style='border:2px solid red;'></div>";} ?>
</textarea>

请参阅:textarea

答案 1 :(得分:0)

值不是HTML语法中Textarea标记的属性。如果要在Textarea中显示内容,则必须将内容放在打开和关闭Textarea标记之间。您正尝试通过声明value =“content”来设置内容,而您需要执行以下操作:

<textarea name="fieldName" cols="15" rows="4">CONTENT GOES HERE</textarea>

参见:http://www.w3.org/wiki/HTML/Elements/textarea


如果您希望在提交时不清楚您的值,则必须在页面顶部处理它们以寻找某些操作,然后在表单中设置它们的值。

<?php

// check if values submitted to page and if not, set empty value
// add html escaping just in case
$field1 = (isset($_GET['field1'])) ? htmlspecialchars($_GET['field1']) : "";
$field2 = (isset($_GET['field2'])) ? htmlspecialchars($_GET['field2']) : "";
$field3 = (isset($_GET['field3'])) ? htmlspecialchars($_GET['field3']) : "";
$field4 = (isset($_GET['field4'])) ? htmlspecialchars($_GET['field4']) : "";

// toggle radio button if one was selected
$on = ($field4 == "1") ? "checked" : "";
$off = ($field4 == "0") ? "checked" : "";

?>

<html>
<head><title>Test Page</title></head>
<body>
<h1>Test Page</h1>
<form action="test.php" method="GET">
Field 1: <input type="text" name="field1" value="<?php echo $field1; ?>" /><br />
Field 2: <input type="text" name="field2" value="<?php echo $field2; ?>" /><br />
Field 3: <textarea name="field3" cols="15" rows="5"><?php echo $field3; ?></textarea><br />
Field 4: On <input type="radio" name="field4" value="1" <?php echo $on; ?> /> &nbsp; <input type="radio" name="field4" value="0" <?php echo $off; ?> /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>

当然,您可以添加额外的逻辑和样式,但代码的主要问题是HTML语法错误,textarea与其他表单标记不同,并且没有“value”参数。