2010-10-27 36 views
1

我有我希望是一個簡單的問題。基本上,我有一個包含函數的JavaScript塊,然後我試圖從另一個JavaScript塊(在jQuery $(document).ready函數內)調用它。雖然它在Firefox上正常工作,但在IE7中出現「Object Expected」錯誤。這可能與範圍有關,但我不確定要修復什麼。 Firebug似乎沒有給出任何關於該主題的信息。對象IE7中的預期錯誤 - 函數範圍有問題?

所以,這裏是我的功能:

<script type="text/javascript"> 
    //<![CDATA[ 
    function onsite_validate(){ 
      $("#tsp_onsite_form").validate({ 
       errorClass: "form_error", 
       errorElement: "em", 
       errorPlacement: function(error, element) { 
        error.prependTo(element.parent("label")); 
       }, 
       highlight: function(element, errorClass) { 
        $(element).addClass(errorClass); 
       }, 
       unhighlight: function(element, errorClass) { 
        $(element).removeClass(errorClass); 
       }, 
       rules: { 
        fault_found: "required" 
       }, 
       messages: { 
        fault_found: "was a fault found?" 
       }, 
       submitHandler: function(form) { 
        $.blockUI(); 
        form.submit(); 

       } //ends submit handler  

      }); 
     } 
//]]> 
</script> 

,並在此之後,我有以下幾點:關於調用onsite_validate()

<script type="text/javascript"> 
//<![CDATA[ 
$(document).ready(function() { 
     onsite_validate(); 
}); 
//]]> 
</script> 

的 '對象應爲' 錯誤拋出;

我確定我犯了一個根本性的錯誤 - 看起來似乎無法察覺!

非常感謝

+0

不熟悉的驗證功能或確實jQuery的,但我已經在很多原型的工作,IE經常需要的JavaScript(特別是DOM的東西)的發現是在window.load inited和沒有準備好文檔 – robjmills 2010-10-27 22:15:55

+0

你使用了最新的jQuery版本嗎?如果沒有,請使用它。 – 2010-10-27 23:05:19

回答

0

試圖加載相同的JavaScript文件兩次(在嵌套模板),當我有這個錯誤。由於問題發生在流程中的其他地方,因此難以確定。

我在說的是錯誤不一定與該函數或甚至代碼塊。

0

聽起來像你在其中一個回調函數中有空引用。

只是爲了調試,您可以嘗試檢查每個對象,並根據需要拋出警報來確定哪些對象沒有設置。

例如,檢查這些對象:
element.parent
錯誤
$(元素)

1

什麼類型的對象是errorPlacementerror?不完全確定它是否作爲jQuery的一個實例傳遞,但如果不是,您可能需要解決該問題。

編輯:剛纔意識到你說它在非IE中工作。我記得在IE7中只有這個錯誤,並且必須修補jQuery源代碼來處理它。您使用的是什麼版本的jQuery,並且您是自己託管還是使用GoogleAPIs之類的東西?另外,你能提供確切的錯誤(文件,行等)嗎?

0

在IIS

Click on your website[LHS]=>Authentication[**Features View on RHS**]=>Enable only Anonymous authentication other should be disabled and click on edit, set Specific user to **IUSR** instead of [IUSR_Servernname] and No password is required