如何使一个input文本框随其中内容而变化长度?

xyyyy 2006-04-12 10:43:32
当内容增加时,input长度变长
内容减少时,input长度减小。
不知道能否实现,
我的input中基本都是a-x,A-X,0-9。
在本版搜了一下,没找到。
...全文
1496 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
GageCSDN 2006-04-12
  • 打赏
  • 举报
回复
第一个问题:
<input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this.value.length>4?this.value.length:4);" size="4">
其中 size="4"就是定义初始的大小,如果这里没有定义,那就把this.size=(this.value.length>4?this.value.length:4);里面的4改成20,<input type="text">的默认size就是20

第二个问题:
如果你在style里定义了width属性,又要让它的width根据内容来变化,两个要求不就矛盾了吗.所以这里不能在style里定义width属性.
xyyyy 2006-04-12
  • 打赏
  • 举报
回复
对了,稻草人
你那个答案还是有点不完美
得key-up或者key-down的时候input长度才变成4
我想一上来就是4,怎么办?
如果在style里面设定了,key-up时候再改就不行了
xyyyy 2006-04-12
  • 打赏
  • 举报
回复
答案出现了,结贴。
经过实验,稻草人的答案更好
通过三元运算符限定了input的最小宽度,
并且使key-up和key-down事件统一了。
谢谢二位。稻草人30分,天外水火20分。
hbhbhbhbhb1021 2006-04-12
  • 打赏
  • 举报
回复
<input name=num size="1" onkeyup="this.width=this.value.length*8">
GageCSDN 2006-04-12
  • 打赏
  • 举报
回复
<input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this.value.length>4?this.value.length:4);" size="4">
xyyyy 2006-04-12
  • 打赏
  • 举报
回复
当然,最好是输入的同时,变幻长度
应该是key-down事件或者key-up事件吧,我猜
xyyyy 2006-04-12
  • 打赏
  • 举报
回复
恩,有理
是我没看清楚。
谢谢稻草人。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧