JavaScript的:
function x() {
var value = document.getElementById("test1").value.length;
if (value <= 18) {
value.rows = 1;
} else if (value > 18 && value < 36) {
value.rows = 2;
} else if (value > 36 && value < 54) {
value.rows = 3;
}
}
HTML:
<input type="textarea" id="test1" style="overflow:auto" rows="1" cols="18" onkeypress="javascript:x();">
3个问题:
if-else
?cols="18"
,但确切地说是18岁。答案 0 :(得分:2)
Textarea是标签而非属性值
<textarea id="test1" style="overflow:auto" rows="1" cols="18">Text goes here</textarea>
对于javascript,您要为变量分配长度,而不是元素。 有点像
var a = document.getElementById("test1");
a.rows = (a.value.length / 18) + 1;
这是未经测试的代码。
答案 1 :(得分:0)
仅限1)
首先,您需要将行设置为test1对象而不是值:
document.getElementById("test1").rows = xxx;
然后你跳过了处理36和54的值。这应该是<= 36
和<= 54
。
然后这个:
var textarea = document.getElementById("test1")
if (value == 0) textarea.rows = 1;
else if (value > 54) textarea.rows = 3;
else textarea.rows = Math.floor((value - 1) / 18) + 1;