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

一个捕获时间的问题
<form   name= "frm ">
<select   name= "select1 "   onChange= 'javascript:test( "aaa "); '>
<option   value= "123 "> 123 </option>
<option   value= "124 "> 124 </option>
<option   value= "125 "> 125 </option>
</select>
</form>
<script   language= "javascript ">
function   test(){
bbb();
}
function   bbb(){
var   yccEvent   =   document.frm.select1.onChange
var   ycc
var   yccstart
var   yccend
var   yccoldFunction
alert(yccEvent.toString());
if(yccEvent!=null){
      ycc   =   yccEvent.toString()
      yccstart   =   ycc.indexOf( "{ ")
      yccend   =   ycc.indexOf( "} ")
      yccoldFunction   =   ycc.substring(yccstart+1,yccend)
}
window.document.frm.select1.onChange=function(){
      if(yccoldFunction!= " "){
          alert( "aaa ");
          window.execScript(yccoldFunction);
      }
alert( "aaa ");

}
alert(window.document.frm.select1.value);
}
</script>


我写了一个简单的页面,想要的结果是捕获onChange事件,然后修改事件。
但是现在var   yccEvent   =   document.frm.select1.onChange总是得不到值,我不知道问题出在什么地方,请大家帮忙。
或者有更好的解决办法也可以,谢谢!

------解决方案--------------------
html 是大小写不敏感的语言,
但是 JS 是大小写敏感的语言!
因此,最好按 JS 的事件名统一书写。

var yccEvent = document.frm.select1.onChange
改为
var yccEvent = document.frm.select1.onchange