作者lakegreen ( )
站内Ajax
标题[问题] IE8表示 'target' 是 null 或不是一个物件
时间Wed Mar 24 11:09:59 2010
HTML物件是下面这个
<tr>
<td />Last battery change
<td /><input type="text" name="BChgDateTime2" id="BChgDateTime2"
value="--/--/----" size="11" />
</tr>
---------------------------------------------------------------------------
javascript如下
<script type="text/javascript">
window.onload=setupEvents;
function setupEvents(evnt){
document.form.BChgDateTime2.onchange = validateField;
}
function validateField(evnt){
var theEvent = evnt ? evnt : window.event;
var target = evnt.target ? evnt.target : evnt.srcElement;
var rgEx =
/^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d
{2}|\d))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9
]\d)?\d{2}|\d))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}
|\d))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|(
(16|[2468][048]|[3579][26])00)|00|[048])))$/;
var OK = rgEx.exec(target.value);
if (!OK) {
alert("Last battery change!!")
}
}
触发BChgDateTime2的onchange事件时,在firefox和chrome没有问题,
但在IE8就会一直说 错误: 'target' 是 null 或不是一个物件
程式是看着书参考范例写的,但是范例却不会出现这个问题,我也找不出为什麽
请问哪位高手可以告诉我可能是哪边有问题呢? 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.66.86.158
1F:→ emn178:var target = theEvent.target .... 03/24 11:24
※ 编辑: lakegreen 来自: 210.66.86.158 (03/24 11:45)
2F:→ lakegreen:是target = theEvent ? theEvent : evnt.srcElement;吗 03/24 11:46
3F:推 No:指function validateField里的第二行 03/24 11:54
4F:→ No:var target = evnt.target 改 var target = theEvent.target 03/24 11:55
5F:→ No:target=theEvent.target?theEvent.target:theEvent.srcElement; 03/24 11:57
6F:→ No:整段改完变这样 03/24 11:58
7F:→ lakegreen:了解,虽然不知道为什麽范例就没问题,谢谢~ 03/24 13:32