当然,最好是输入的同时,变幻长度
应该是key-down事件或者key-up事件吧,我猜

解决方案 »

  1.   

    <input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this.value.length>4?this.value.length:4);" size="4">
      

  2.   

    <input name=num size="1" onkeyup="this.width=this.value.length*8">
      

  3.   

    答案出现了,结贴。
    经过实验,稻草人的答案更好
    通过三元运算符限定了input的最小宽度,
    并且使key-up和key-down事件统一了。
    谢谢二位。稻草人30分,天外水火20分。
      

  4.   

    对了,稻草人
    你那个答案还是有点不完美
    得key-up或者key-down的时候input长度才变成4
    我想一上来就是4,怎么办?
    如果在style里面设定了,key-up时候再改就不行了
      

  5.   

    第一个问题:
    <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属性.