onpropertychange在更改一开始就触发,其实这时并没有真正更改文本框的值(你可以按下Esc键取消更改)。

onchange则在更改确认时触发(通常需要在输入新的值以后将焦点移到其它组件中,或在文本框之外单击鼠标才能确认当前更改)。


从事件触发的时机来说,onpropertychange比onchange更及时,onchange总是要等失去焦点以后才触发(在input上的时候),类似onblur

就触发条件来说,onpropertychange更频繁,不光是value的改变,任何HTML、CSS属性的改变都会导致这个事件的触发,例如宽度、颜色等。


如果使用struts标签,没有onpropertychange方法

需要用js给元素绑定事件。

var obj = document.getElementById("startDatetime");
     obj.onpropertychange=function(){
         if("value" == window.event.propertyName){
             endtime(obj);
         }
     }