2010-01-26 93 views
2

我在Jquery Validation插件中遇到了一些問題,並且想知道是否有人可以提供幫助。JQuery表單驗證不適用於新創建的元素

目前,該插件在作品在頁面上

$("#addRelease").validate({ 
    submitHandler: function(form) { 
    form.submit(); 
    } 
    }); 

但是如果我動態創建一個按鈕點擊一個表單目前任何形式的元素時,jQuery驗證插上不會爲這個新工作創建元素。

// Add release form 
$(function(){ 
$('body#true #releases p a').click(function(){ 
     // Grab form using Jquery 
     $.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) { 
     // Place form returned via Jquery on page in formWrapper div   
     $('#formWrapper').html(data); 
    }); 

    return false 
    }); 


}); 

有沒有人遇到過這個問題,並知道工作?

非常感謝

回答

3

很難說沒有看到您的代碼,但是您可能需要在將html插入頁面後綁定「validate()」方法,因爲在用戶啓動之前無法通過jQuery找到#addRelease元素ajax調用(通過單擊),然後將該元素添加到頁面。

// Add release form 
$(function(){ 
    $('body#true #releases p a').click(function(){ 
     // Grab form using Jquery 
     $.get('http://localhost:8500/mxRestore/views/viewlets/forms/ajax/a_addRelease.cfm?name_art='+name_art, function(data) { 
      // Place form returned via Jquery on page in formWrapper div   
      $('#formWrapper').html(data); 
      $("#addRelease").validate({ 
       submitHandler: function(form) { 
        form.submit(); 
        } 
      }); 
     }); 
     return false; 
    }); 
}); 
+0

輝煌的工作完美,謝謝你的協助 – namtax 2010-01-26 21:16:14

2

這是因爲$("#addRelease").validate添加事件處理程序到你的HTML元素它被調用的時候。插入新元素後,您必須再次調用它。

+0

是的,謝謝你的工作。 – namtax 2010-01-26 21:16:44