日期:2014-05-16  浏览次数:20287 次

type="text"框内容发生变化时触发什么事件?(onchange试过没用)

我要给生日这个文本框做检查
1。有可能客户直接用手输入没用点击后出来的日历控件,导致格式错误

我的想法是按一个键(就是输入一个字)都触发事件进行判断当前的字符串是否符合格式
我用了onkeyup事件 进行判断,但是这只是对键盘输入可以做判断

假设从日历选择的日期也不符合格式那怎么办(虽然可能性几乎没有)或者从日历控件选择 也要检查是否正确 虽然明知正确但也要检查健壮性嘛

现在我不知道 当选择日历时 赋值给 text框 对于text框来说是什么事件 (就是内容改变,但onchange事件不行) 

从日历选择的日期赋值给text框的时候 没有事件可触发 text里 onchange事件也不行 相当于onblur 必须失去焦点才触发
我发现onchange 只适合 select标签

------解决方案--------------------
onchange在你更改内容并且鼠标移开时触发。
------解决方案--------------------
表单提交前进行验证,输入时就不用去检测了。
------解决方案--------------------
如果非要实时检测的话 focus的时候注册 keydown 然后在检测 blur的时候在销毁keydown
------解决方案--------------------
fireEvent,没用过就百度下