textarea能否像text input一样通过value属性设置默认值?
关于textarea控件赋值的问题解答
你的textarea写法不正确,textarea控件无法通过value属性设置初始内容,正确的做法是把要显示的内容放在<textarea>和</textarea>标签之间。
错误写法(你的代码)
<textarea class="form-control" rows="3" cols="123" name="comments" value="<?php echo $row['comments'];?>" ></textarea>
正确写法
<textarea class="form-control" rows="3" cols="123" name="comments" ><?php echo $row['comments'];?></textarea>
修改后的完整表单代码
<form method="post"> <div class="row gy-2 text-left"> <div class="row"> <div class="col-auto gy-2"> <label>Name</label> <br> <input type="text" class="form-control" name="name" value="<?php echo $row['naam'];?>"> </div> </div> <div class="row"> <div class="col-auto gy-2"> <label>Email address</label><br> <input type="email" class="form-control" name="email" value="<?php echo $row['email'];?>"> </div> </div> <div class="row"> <div class="col-auto gy-2"> <label>Tell me about it</label><br> <style> textarea {resize: none;} </style> <textarea class="form-control" rows="3" cols="123" name="comments" ><?php echo $row['comments'];?></textarea> </div> <div class="row"> <div class="col-auto gy-3"> <button class="btn edit btn-info border border-dark" name="Update">Update</button> </div> </div> </div> </form>
补充说明
textarea和input类控件的赋值逻辑存在差异:
- input(text/email等类型)通过
value属性设置初始值 - textarea的初始内容必须放在标签的开闭之间,这是HTML规范定义的标准写法,浏览器只会识别标签内部的内容作为初始输入值。
内容的提问来源于stack exchange,提问作者Veance
相关产品推荐
相关产品推荐

