可以有textarea的初始宽度但是可以调整吗?

时间:2016-10-21 19:13:47

标签: css textarea width

我有一个浮动的textarea,用户可以将其调整到他们想要的任何宽度和高度。单击提交按钮后,我使用jQuery来获取当用户调整textarea大小时拉入style属性的样式(宽度,高度和边距)。然后将其转移到发布值的隐藏输入 - 这样当提交页面加载后,有一个变量可以放回到textarea样式($ _POST ['styles'])。这很有效,除了textarea由于某种原因无法调整到更小的宽度。它可以做得更大,但不能小于最初放置在textarea风格中的宽度。高度在这方面很好。因此,如果用户将宽度调整到页面的整个宽度,然后点击提交,他们就会遇到一个100%宽度的文本区域。

我尝试了另一个删除宽度的jQuery语句,但是将其缩小到默认的最小大小。 'width:auto'也是如此。我希望,因为在页面加载时使用PHP将宽度放入textarea中,所以它不会被“置之不理”。但它是。用于创建textarea的初始宽度但是可以调整的任何其他选项?

1 个答案:

答案 0 :(得分:1)

使用jQuery UI resizable()
在其中,您可以调用resize事件来设置隐藏字段值。

工作示例https://jsfiddle.net/icecred/Lco2gkh3/6/

<强> HTML:
<textarea></textarea>

<强> CSS:

textarea {
    height: 250px;
    width: 200px;
}

<强> JS:

$("textarea").resizable({
    resize: function(e) {
        // on resize: set hidden input value
        var height = $(this).css('height');
        var width = $(this).css('width');
        // set hidden input value here
    }
});