下面的代码非常适合处理联系表单中文本字段的错误,但是如何使用相同的方法来处理下拉选项框和textareas?
<input type="text" name="name" value="<?php if($errors){echo $name;} ?>" id="name" size="30" />
例如:
<textarea name="message" value="<?php if($errors){echo $message;} ?>" id="message" rows="10" cols="40"></textarea>
不起作用。
答案 0 :(得分:3)
对于textarea,您必须将默认值放在标记本身中。 例如:
<textarea name="message" id="message" rows="10" cols="40"><?php if($errors){echo $message;} ?></textarea>
答案 1 :(得分:1)
这就是你应该怎么做INPUT:它就像你拥有它一样,但你真的应该用htmlentities(或htmlspecialchars等)来逃避用户提供的内容,以防它们在文本中有引号,括号等这将被浏览器解释为HTML字符。这只是一种很好的做法。
<input type="text" name="name" id="name" size="30"
value="<?php if ($errors) { echo $name; } ?>" />
这是你应该如何做TEXTAREA:把内容放在textarea打开/关闭标签之间。并确保也妥善逃脱。
<textarea name="message" id="message" rows="10" cols="40"
><?php if ($errors) { echo htmlentities($message); } ?></textarea>
这是处理SELECT标记的方法。为了便于阅读,我将代码分开,以便您了解正在发生的事情。基本上你只需要在你想要选择的OPTION元素中输出selected="selected"
。
<select>
<option value = "val1"
<?php if ($error && ($selval=="val1")) { echo 'selected="selected"'; } ?>
>
Option Label 1
</option>
<option value = "val2"
<?php if ($error && ($selval=="val2")) { echo 'selected="selected"'; } ?>
>
Option Label 2
</option>
... (additional <option> tags here) ...
</select>
答案 2 :(得分:0)
用于文本区域:
textarea name="message" id="message" rows="10" cols="40"><?php if($errors){echo $message;} ?></textarea>
对于下拉列表,您需要执行以下操作:
<select>
<option value = "1" <? echo ($errror && $myposted_val == "1") ? "selected = \"selected\"" : ""; ?></option>
</select>