我要给生日这个文本框做检查
1。有可能客户直接用手输入没用点击后出来的日历控件,导致格式错误我的想法是按一个键(就是输入一个字)都触发事件进行判断当前的字符串是否符合格式
我用了onkeyup事件 进行判断,但是这只是对键盘输入可以做判断假设从日历选择的日期也不符合格式那怎么办(虽然可能性几乎没有)或者从日历控件选择 也要检查是否正确 虽然明知正确但也要检查健壮性嘛现在我不知道 当选择日历时 赋值给 text框 对于text框来说是什么事件 (就是内容改变,但onchange事件不行) 从日历选择的日期赋值给text框的时候 没有事件可触发 text里 onchange事件也不行 相当于onblur 必须失去焦点才触发
我发现onchange 只适合 select标签

解决方案 »

  1.   


    不好要焦点失去 才触发
      我要text 里面的 value 发生变化 就触发
      

  2.   

    onchange在你更改内容并且鼠标移开时触发。
      

  3.   

    如果非要实时检测的话 focus的时候注册 keydown 然后在检测 blur的时候在销毁keydown 
      

  4.   


    你做下试验  type=text onchange 是不是改变value的时候 触发
    http://www.w3school.com.cn/htmldom/event_onchange.asp
    你去官网看下这个例子
      

  5.   

    用onPropertyChange和onkeyup组合一起用
      

  6.   


    我有点没明白text框 先注册foucs的时候注册 keydown 什么的
    感觉没用呀  因为我是用鼠标在日历控件上做选择 所以不会触发到keydown
      

  7.   

    这个日期控件是你做的吗?做一个触发onchange的句柄就行
      

  8.   


    不会触发到keydown 那我能想到的办法就是  foucs 的时候setInterval 监测  blur的时候在clearinterval
    万无一失
      

  9.   

     考虑好作用对象,onchange和onblur都不错喔! 
      

  10.   

    onchange好,改变值失去焦点后发生。。
      

  11.   

    没明白你的意思 onchange事件 添加在哪  是text框 还是日历控件  感觉都不行
      

  12.   

    可能要多个事件一起用,因为有的浏览器不支持onchange