2008/05/14

jquery 的$(document).ready 在 firefox 有 onclick 的問題

最近在使用jquery 1.2.3 版本,發生了奇怪的問題….

通常我們在送出一個form表,會使用一個function檢查form的內容,

例如以下為一個CheckForm的Function



<script language="javascript" type="text/javascript">

Function CheckForm(thisForm){

$(document).ready(function(){
If (thisForm.text1.value != “") {
thisFrom.submit();
}
}
}

</script>


若使用



<a href="javascript:CheckForm(this.form);">submit button</a>


完全沒問題,在IE及FireFox都正常!
但若使用button



<input type="button" name="btnSubmit" value="submit button" onclick="javascript:CheckForm(this.form);">


在FireFox則會無法送出form,原因出在於CheckForm()裡的$(document).ready()沒有反應…跑到這裡就停住了…

查了許久,仍查不出原因,初步推斷可能是jquery 1.2.3在firebox的一個onclick的bug,因為在jquery 1.1.1時是沒有問題的。

現在的解決方式是,在

<script language="javascript" type="text/javascript"></script>
裡,
加一段:



$(document).ready(function(){

});


如此一來正常work了…只是沒找出真正的原因,要花點時間去找找官方的討論區。

軟體工程的重要的指標