2009-05-04 85 views
1

由於jquery的緣故,我收到了一個錯誤'對象預期',這不會'提交'表單或將數據輸入數據庫。object expected - jquery

沒有jquery,數據可以輸入到數據庫中。但現在不行。

我已經使用jquery主要用於驗證asp.net控件。


roosteronacid,驗證工作完好,id屬性也是一樣的。提交只是沒有執行服務器端代碼,我無法弄清楚是什麼問題。

編輯:

這是jQuery代碼:

<script type="text/javascript"> 
     $(document).ready(function() { 
      // add custom validation methods 
      $.validator.addMethod('phone', function(value, el, params) { 
       return this.optional(el) || /^[0-9,+,(), ,]{1,}(,[0-9]+){0,}$/.test(value); 
      }, 'Please enter a valid phone number'); 

      $.validator.addMethod('numbers', function(value, el, params) { 
       return this.optional(el) || /^[0-9]+$/.test(value); 
      }, 'Invalid entry. Only Numeric is allowed.'); 


      $.validator.addMethod('domainurl', function(value, el, params) { 
       return this.optional(el) || /^(http\:\/\/(?:www\.)?[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*(?:\.[a-zA-Z0-9]+(?:(?:\-|_)[a-zA-Z0-9]+)*)*\.[a-zA-Z]{2,4}(?:\/)?)$/.test(value); 
      }, 'Please enter a valid domain url'); 


      $.validator.addMethod('selectone', function(value, element) { 
       return this.optional(element) || (value.indexOf("none") == -1); 
      }, 'Please select an option.'); 



      $("#form1").validate({ 
       debug: true, 
       rules: { 
        txt_name: { 
         required: true, 
         minlength: 2 
        }, 
        txt_cmp: { 
         required: true, 
         minlength: 2 
        }, 
        txt_tel1: { 
         phone: true, 
         required: true, 
         minlength: 3 

        }, 
        txt_tel2: { 
         phone: true, 
         required: false, 
         minlength: 3 

        }, 
        txt_mob: { 
         phone: true, 
         required: false, 
         minlength: 9 

        }, 
        txt_email: { 
         required: true, 
         email: true 
        }, 

        txt_domname: { 
         required: true, 
         domainurl: true 
        }, 

        radiobt_domain: "required", 

        ddl_yremail: { 
         required: true, 
         selectone: true 
        }, 
        ddl_email: { 
         required: true, 
         selectone: true 
        }, 

        txt_space: { 
         required: true, 
         numbers: true 

        }, 
        txt_calfr: { 
         required: true 
        }, 
        txt_calto: { 
         required: true 
        } 


      }, 
      messages: { 
       txt_name: { 
        required: "This field is required", 
        minLength: "Please enter a valid name" 
       }, 
       txt_cmp: { 
        required: "This field is required", 
        minLength: "Please enter a valid commpany name" 
       }, 
       txt_tel1: { 
        required: "This field is required", 
        minLength: "Please enter a valid telephone number" 

       }, 
       txt_tel2: { 
        minLength: "Please enter a valid telephone number" 
       }, 
       txt_mob: { 
        minLength: "Please enter a valid mobile number" 

       }, 
       txt_email: { 
        email: "Please enter a valid email address", 
        required: "This field is required" 
       }, 

       txt_domname: { 
        required: "This field is required" 
       }, 
       radiobt_domain: "Select the Hosting Type" 
      } 

     }); 
    }); 
    </script> 

有什麼錯誤的代碼?

它說,預計線559對象我檢查了jquery.validate.js文件,這是它的代碼所示:

addWrapper: function(toToggle) { 
      if (this.settings.wrapper) 
       toToggle = toToggle.add(toToggle.parents(this.settings.wrapper)); 
      return toToggle; 
     } 

jQuery代碼在正確的地方顯示所有的錯誤,但是一旦更正後,它不提交數據。

插件我使用:當您嘗試訪問未被定義,而不是引用或誤拼寫錯誤的對象

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

+2

我們可以請看看一些代碼嗎?如果我們看不到它,不能告訴你什麼是壞的。 – 2009-05-04 12:04:04

回答

8

預期的對象出現。檢查預期哪個對象。使用Firefox的螢火蟲調試您的JavaScript或使用IE瀏覽器進行調試,以獲得運行時無法找到的對象....

0

我的猜測是,錯誤是在您使用jQuery驗證插件,在。嘗試僅驗證一個ASP.NET控件。這將使錯誤更容易發現:

$("#form1").validate({ 
    rules: { 
     id_of_control_you_know_exists_in_the_rendered_html: { 
      required: true, 
      minlength: 2 
     } 
    } 
}); 

另一種可能性可能是您在用戶控件中使用ASP.NET控件。在這種情況下,呈現的HTML輸入控件的id屬性與您在.aspx頁面中設置的id屬性不同。

0

我有同樣的問題,但在我們的臨時服務器上。比較文件顯示它們是相同的,並且在不同網站上託管完全相同的文件沒有問題,所以它必須是我們放置文件的特定網站。排除故障後的罪魁禍首是我們在IIS中的網站屬性中設置了Footer.html文件設置,因此服務器在渲染腳本中注入了它。因此打破任何良好的兼容代碼。 我們關閉了IIS設置的腳註屬性 - 賓果!

0

我也面臨這個概率。但在我的情況下,我是jQuery版本prob在那裏。我把最新版本,它在IE中工作。

2

我通過正確引用JQuery文件解決了這個問題。我在一個子目錄中,並沒有正確的路徑。

相關問題