页面有两个文本框与两个时间控件.单击时间控件把日期传到文本框内. 当单击第二个时间控件(结束时间)后并且文本框内有值的时候触发某个方法. 我用了onblur. 与 onchange 但都不理想.
当单击某个日期后,文本框值变了.这时就触发某个方法. 而onblur方法是触发了.但不是我想要的效果.我是通过时间控件选值的.当我单击时间控件时就触发方法了.但是我还没有选完...
而onchange 却没反映...
<input type="text" name="date1" onClick="setDayHM(date1);" size="20" maxlength="22" class="BigInput" >至 
<input type="text" name="date2" onClick="setDayHM(date2);" size="20" maxlength="22" class="BigInput" onblur="diffTime()"> function diffTime(){
var date1 = document.getElementById("date1");
var date2 = document.getElementById("date2");
var time1 = date1.value.substring(8,10);
var time2 = date2.value.substring(8,10); if(time1 != time2){
alert("XXOO!");
return false;
}
}
期望高手给解决 谢谢!

解决方案 »

  1.   

    感觉要想通过日历控件,且判断两个text是否相等就,除了onblur,但其他也没什么合适的函数了。onmouseout等效果也不好吧。
    不然就提交表单前,用一段js检查下吧。
      

  2.   

    input text 的onchange事件,只有失去焦点时候触发。
    你要想实现真正的onchange加如下代码吧。
    h=document.getElementById("inputId")
    if(navigator.userAgent.indexOf("MSIE")>=0) {    
    h.attachEvent('onpropertychange',function(o){serch();});     
    }//IE   
      
    if(navigator.userAgent.indexOf("Firefox")>=0){     
    h.addEventListener('input',function(o){serch();},false);   
    }serch为他触发的函数名