我有一个浮动的textarea,用户可以将其调整到他们想要的任何宽度和高度。单击提交按钮后,我使用jQuery来获取当用户调整textarea大小时拉入style属性的样式(宽度,高度和边距)。然后将其转移到发布值的隐藏输入 - 这样当提交页面加载后,有一个变量可以放回到textarea样式($ _POST ['styles'])。这很有效,除了textarea由于某种原因无法调整到更小的宽度。它可以做得更大,但不能小于最初放置在textarea风格中的宽度。高度在这方面很好。因此,如果用户将宽度调整到页面的整个宽度,然后点击提交,他们就会遇到一个100%宽度的文本区域。
我尝试了另一个删除宽度的jQuery语句,但是将其缩小到默认的最小大小。 'width:auto'也是如此。我希望,因为在页面加载时使用PHP将宽度放入textarea中,所以它不会被“置之不理”。但它是。用于创建textarea的初始宽度但是可以调整的任何其他选项?
答案 0 :(得分:1)
使用jQuery UI resizable()
在其中,您可以调用resize事件来设置隐藏字段值。
<强> 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
}
});