[問題] IE8表示 'target' 是 null 或不是一個 …

看板Ajax作者 ( )時間15年前 (2010/03/24 11:10), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
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

03/24 11:24, , 1F
var target = theEvent.target ....
03/24 11:24, 1F
※ 編輯: lakegreen 來自: 210.66.86.158 (03/24 11:45)

03/24 11:46, , 2F
是target = theEvent ? theEvent : evnt.srcElement;嗎
03/24 11:46, 2F

03/24 11:54, , 3F
指function validateField裡的第二行
03/24 11:54, 3F

03/24 11:55, , 4F
var target = evnt.target 改 var target = theEvent.target
03/24 11:55, 4F

03/24 11:57, , 5F
target=theEvent.target?theEvent.target:theEvent.srcElement;
03/24 11:57, 5F

03/24 11:58, , 6F
整段改完變這樣
03/24 11:58, 6F

03/24 13:32, , 7F
瞭解,雖然不知道為什麼範例就沒問題,謝謝~
03/24 13:32, 7F
文章代碼(AID): #1BgOAAP- (Ajax)
文章代碼(AID): #1BgOAAP- (Ajax)