2013-03-26 185 views
0

你好,再次SO社區。jQuery功能不能正常工作

有什麼不對的一段代碼:

(function ($) { 
jQuery.fn.submitAsync = function (adHocOpts, addFormObserver, skipValidation) {   
    $.each(this, function (i, form) 
    { 
     if (!$(form).data('submitOptions') && addFormObserver) 
      $(form).trigger('formLoad'); 

     $(form).data('adHocOptions', $(form).data('submitOptions')); 

     $(form).mergeOptions('adHocOptions', adHocOpts); 

     var options = $.extend($(form).data('adHocOptions'), 
     { 
      type: form.method,//.attr('method'), 
      url: form.action,//.attr('action'), 
      data: $(form).serialize() 
     }); 

     if (skipValidation) 
      options.validation = [];    
     setTimeout($.ajax(options), 10); 

    }); 
};})(jQuery); 

我不斷收到意外的標識錯誤,停止執行。有任何想法嗎?

謝謝

+0

當控制檯指出錯誤時,它會給出精確的位置。 – 2013-03-26 11:05:11

+0

你可以看看控制檯,並說哪一行是拋出錯誤 – 2013-03-26 11:05:29

+0

它不,令人驚訝!這就是爲什麼我很沮喪,因爲我無法確定錯誤的位置! – 2013-03-26 11:16:17

回答

0

編輯:以前的答案是不正確的,試試這個:

setTimeout(function() {$.ajax(options)}, 10); 

我用這個小提琴http://jsfiddle.net/vasRL/2/才能到錯誤,並發現它被引發了setTimeout函數。

+0

我剛剛檢查過,我認爲所有的括號和大括號都是匹配的... – 2013-03-26 11:25:01

+0

我只是重新檢查,看起來像你是對的,代碼是完全有效的。我想我設法在這個小提琴中重現你的錯誤:http://jsfiddle.net/vasRL/,現在試圖修復它 – cernunnos 2013-03-26 11:38:08

+0

謝謝你,你是一個生活的救星。 – 2013-03-26 12:13:07