以下是一个示例代码,可以在表单提交后重置扩展文本区域的高度:
HTML代码:
JavaScript代码:
document.getElementById('myForm').addEventListener('submit', function(e) {
e.preventDefault(); // 阻止表单提交的默认行为
var textarea = document.getElementById('myTextarea');
textarea.style.height = 'auto'; // 先将高度设置为自动
// 如果文本区域的内容超出了初始的高度,再重新设置高度
if (textarea.scrollHeight > textarea.clientHeight) {
textarea.style.height = textarea.scrollHeight + 'px';
}
});
在上面的代码中,我们通过getElementById
方法获取表单和文本区域的元素,并添加了一个提交事件的监听器。在事件处理程序中,我们首先调用preventDefault
方法阻止表单提交的默认行为。然后,将文本区域的高度设置为自动,以便其可以根据内容进行自动调整。最后,通过比较文本区域的滚动高度和可见高度来判断文本是否溢出,并根据需要重新设置文本区域的高度。
请注意,上面的代码中使用了resize: none;
样式来禁止用户调整文本区域的大小。如果您允许用户调整大小,可以将此样式属性删除。