2012-09-03 87 views
1

我在使jQuery bassassistance驗證插件工作時遇到了一些問題。首先,我會告訴你正在開發的網站。 Development site。我在中國的ESL老師這樣的網站在中國,要找到問題區域:jQuery驗證混淆

  • 有在頁面的左上角兩個按鍵,點擊第一個
  • 阿賈克斯後請求完成後會彈出一個模式對話框,登錄表單

這裏的麻煩在於。簡而言之,我無法使驗證插件正常工作。一些額外的驗證方法已經定義,並且螢火蟲告訴我他們被加載到對象罰款;即使我將規則設置爲需要它仍然沒有返回,甚至沒有錯誤。我可以使用控制檯來調用驗證,它可以工作,但是除了返回對象之外,沒有任何反饋。這個問題真的有我抓我的頭

操作的simplifed時間表這樣的流:

  1. 當一個頁面被調用時,一個類型設置,在這種情況下形式
  2. 的請求,以取得返回xml的服務器
  3. 任何額外的樣式表和腳本文件都會下載並注入。 #作品#
  4. 驗證規則以json形式存儲在我的pagecontroller類中的xml節點中。帖子結尾處的示例。這種反應是瀏覽器安全,目前轉換中的一個對象
  5. 該對話框彈出後起來的形式注入,一個函數調用formentities連接被稱爲#工程#
  6. 這個函數的最後一部分是安裝驗證功能的形式,它使用從服務器

    /* Attach validation to the button class used for submit*/ 
    $(".form-submit").live("click", function(event){ 
        event.preventDefault(); 
        event.stopImmediatePropagation(); 
        /* Perform the actual validation */ 
        $("#"+params.strFormName).validate({ 
         /* As defined from ajax call */ 
         rules: params.objValidation, 
         /* Custom function to prevent default send */ 
         submitHandler: function(form) { 
         /* Now the form has passed script validation, set it as inactive */ 
         var strFormName = form.id; 
         params.strRequestType = "formresponse"; 
         params.strRequestMethod = "POST"; 
         params.strRequestURL = $("#"+strFormName).attr("action") + '&ajax_type=formresponse'; 
         params.strRequestParameters = $("#"+strFormName).serialize(); 
         methods.requestpage(); 
         } 
        });     
    }); 
    

任何指針將不勝感激發回的規則。感謝您閱讀此問題

+0

您的鏈接返回HTTP錯誤500(內部服務器錯誤) –

+0

aayaah,我覺得這樣的傻瓜!這個問題實際上是重複的,可以刪除,道歉的時間。 正如在[這個問題] [1]中指出的,驗證者需要先設置... [1]:http://stackoverflow.com/questions/6948821/jquery-submit-validate-problem ?rq = 1 – Symbal

+0

@FAngel感謝您檢查鏈接,我沒有在這裏得到500,但會檢查每一個裂縫,以確保。這個問題是在另一個埋葬的帖子回答*害羞* – Symbal

回答

0

如果您重新訂購代碼然後致電valid方法,該怎麼辦?

// You need to create the validation object first and initialize it. 
$("#"+params.strFormName).validate({ // This method doesn't "validate" it instantiates. 
     /* As defined from ajax call */ 
     rules: params.objValidation, 
     /* Custom function to prevent default send */ 
     submitHandler: function(form) { 
     /* Now the form has passed script validation, set it as inactive */ 
     var strFormName = form.id; 
     params.strRequestType = "formresponse"; 
     params.strRequestMethod = "POST"; 
     params.strRequestURL = $("#"+strFormName).attr("action") + '&ajax_type=formresponse'; 
     params.strRequestParameters = $("#"+strFormName).serialize(); 
     methods.requestpage(); 
     } 
    });     

/* Attach validation to the button class used for submit*/ 
$(".form-submit").live("click", function(event){ 
    event.preventDefault(); 
    event.stopImmediatePropagation(); 
    /* Perform the actual validation */ 
    $("#"+params.strFormName).valid(); // Call the valid method here to see check if form is valid 
}); 

documentation沒有壞處。

+0

這打擊了頭部的指甲,謝謝你花時間調查:) – Symbal