大众信息网

点击后输入框根据字数变长 代码怎么写

答案:3  mip版
解决时间 2021-01-16 18:45
  • 提问者网友:爱的苦涩
  • 2021-01-16 03:26
<INPUT name="wd" type="text" value="关键字" id="kw" maxlength="100" onBlur="javascript:this.style.width='12em';" onFocus="javascript:this.style.width='20em';">

点击后输入框将变长 我现在想当输入框字数超过11个(包含空格 标点)后 才变长 小于活等于11个字符则不变

这样的代码要怎么写? 以上代码可实现点击变长 希望高手解答 采纳最先解决的 追加

不要改动原代码 这样效果不好

1楼的不可以用 2楼的效果不太好

3楼的可以,但还有问题

当鼠标离开输入框 再次点击输入框时 如果里面大于11个字符时 则自动变长 没有则不变

也就是:您的代码 现在能实现,当输入框大于11个字符时 再次点击输入框按删除键 可变长 我现在就是要:再次点击时也变长

不知道你懂我意思没 ,希望解答下 谢谢

速度等解
最佳答案
  • 二级知识专家网友:何必执着
  • 2021-01-16 03:40
<input type="text" onkeydown="change(this);" onmousedown="change(this);" onblur="this.style.width='12em';" onfocus="change(this);" style="width:12em;">
<script language="javascript">
function change(textbox){
if(textbox.value.length>11)
//textbox.style.width = textbox.value.length*10;
textbox.style.width = "20em";
else
textbox.style.width = "12em";
}
</script>

如有问题可再联系我(百度hi)

您看这样行吗
全部回答
  • 1楼网友:注定要离开
  • 2021-01-16 05:21
<INPUT name="wd" type="text" value="关键字" id="kw" maxlength="100" onBlur="javascript:this.style.width='12em';" onFocus="javascript:if(this.value.length>11)this.style.width='20em';">
  • 2楼网友:久别无恙
  • 2021-01-16 03:46
我先说你的问题 之所以你这个实现不了你的要求是因为你的javascript的函数写在onfocus里面了 一但点击就会触发你的javascript函数 可是你要控制的是你textbox里面的字符长度 所以你应该用onkeydown 或者onchange函数 以下的可以达到你的要求 至于要控制多少个字符后变长 你自己可以调整if语句 我已经测试了 可用 有问题百度hi我 或者+q 4848六四6六 你试试 是不是你想要的
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯