HTML <textarea> 标签详解与使用实例



<textarea> 是多行纯文本输入控件,适用于用户需要输入较长文本的场景。

一、基本语法与属性

属性说明示例值
rows指定可见行数(高度)rows="5"
cols指定可见列数(宽度,基于平均字符宽度)cols="40"
name表单提交时的字段名称name="content"
id用于JavaScript或CSS选择id="message"
placeholder提示文本,用户输入时消失placeholder="请输入内容..."
maxlength允许输入的最大字符数maxlength="500"
readonly只读(布尔属性)readonly
disabled禁用(布尔属性)disabled
required必填字段(布尔属性)required
autofocus页面加载时自动获得焦点autofocus

二、基本使用实例

<!-- 基础文本域示例 -->
<form action="/submit" method="post">
    <label for="feedback">用户反馈:</label><br>
    <textarea id="feedback" name="user_feedback" rows="6" cols="50" 
              placeholder="请详细描述您的问题或建议...">
    </textarea>
    <br>
    <input type="submit" value="提交">
</form>

三、常见应用场景实例

场景代码示例说明
评论框<textarea name="comment" rows="4" cols="60" maxlength="300" placeholder="请发表您的评论..." required> </textarea>限制最大字数,设置为必填字段
地址输入<textarea name="address" rows="3" cols="40" readonly> 北京市朝阳区示例街道123号 </textarea>只读模式显示不可编辑的文本
表单禁用状态<textarea name="notes" rows="3" cols="40" disabled> 此功能暂不可用 </textarea>禁用状态,内容不会随表单提交
默认内容<textarea name="template" rows="8" cols="60"> 尊敬的客户: 感谢您联系我们。 此致 敬礼! </textarea>在开始标签和结束标签之间添加默认文本

四、JavaScript操作实例

<!-- 动态操作文本域 -->
<textarea id="dynamicText" rows="5" cols="50">初始内容</textarea><br>
<button onclick="getTextareaValue()">获取内容</button>
<button onclick="setTextareaValue()">设置内容</button>
<button onclick="clearTextarea()">清空内容</button>

<script>
function getTextareaValue() {
    const textarea = document.getElementById('dynamicText');
    alert('当前内容:' + textarea.value);
}

function setTextareaValue() {
    const textarea = document.getElementById('dynamicText');
    textarea.value = '这是新设置的内容!';
}

function clearTextarea() {
    document.getElementById('dynamicText').value = '';
}
</script>

五、与CSS样式结合

<style>
/* 基础样式 */
.styled-textarea {
    width: 100%;
    height: 120px;
    padding: 12px;
    border: 2px solid #3498db;
    border-radius: 8px;
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical; /* 控制拖拽方向 */
    box-sizing: border-box;
}

/* 焦点状态 */
.styled-textarea:focus {
    outline: none;
    border-color: #e74c3c;
    box-shadow: 0 0 8px rgba(231, 76, 60, 0.3);
}

/* 禁用状态样式 */
.styled-textarea:disabled {
    background-color: #f5f5f5;
    color: #999;
    cursor: not-allowed;
}
</style>

<textarea class="styled-textarea" placeholder="请输入带样式的文本...">
</textarea>

六、重要注意事项

  1. 标签内容:初始文本应放在开始标签和结束标签之间,而不是value属性中
  2. 尺寸控制:建议使用CSS的width和height属性替代rows和cols进行精确控制
  3. resize属性:可通过CSS的resize属性控制拖拽调整方向(vertical、horizontal、both、none)
  4. 表单提交:文本域内容会以name属性指定的字段名随表单提交
  5. 换行处理:输入的换行符在提交时会转换为%0D%0A(CRLF)

七、兼容性提示

  • 所有现代浏览器都支持<textarea>标签
  • HTML5新增属性(如placeholder、required、maxlength)在IE9及以下版本不支持
  • 可通过JavaScript为老旧浏览器提供回退支持

总结: <textarea>是HTML表单中处理多行文本输入的标准控件,通过合理的属性配置和样式设计,可以创建出功能完善、用户体验良好的文本输入区域。


❤️收藏 👍点赞

用户评论

发表评论

您还未登录,无法发表评论!
快来留下你的足迹吧~