通过 javascript 增加文本区域大小
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 个问题:
- 如何通过 for 或 while 循环删除这些
if-else
? - 字段的最大大小应为 18,但现在不起作用 尽管我做了
cols="18"
,但正好是 18 点。 - “onkeypress”是最好的选择吗?我使用该事件来删除 a 内的值 文本框使用不属于的删除或退格键 “按键”。所以基本上它不会动态减少行数。
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 questions:
- How can I remove these
if-else
via for or while loop? - Max size of the field should be 18 but right now it doesnt work
exact at 18 even though I madecols="18"
. - Is "onkeypress" the best option? I use the event to delete the value inside a
textbox either use delete or backspace which are not part of
"keypress". So basically it doesn't dynamically decrease the rows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Textarea 是标签而不是属性值
对于 javascript,您将长度分配给变量,而不是元素。
有点像
这是未经测试的代码。
Textarea is the tag not an attribute value
For the javascript you are assigning the length to the variable, not the element.
So kinda like
This is untested code.
仅限 1)
首先,您需要将行设置为 test1 对象而不是值:
然后您确实跳过了对 36 和 54 值的处理。这应该可能是
<= 36
和<代码><= 54。然后这个:
Only to 1)
First you need to set the row to the test1 object not to the value:
Then you did skip the handling for the values of 36 and 54. This should be probably
<= 36
and<= 54
.Then this: