作者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