2016-08-04 67 views
-1

我有一個打開模式窗體的網頁。我使用JQuery函數驗證模態窗體。問題是我的函數正在檢查模態和它後面的頁面中的所有字段。jquery只能從模態頁面選擇

//validate function 
function validateFields() { 
    var valid = true; 
    $('.required').each(function() { 
     if (!$(this).val()) { 
      addError(this, 'required'); 
      valid = false; 
     } 
    }); 
} 

//in my save function 
function saveLead(){ 
    if (validateFields()) { 
     //save 
    } 
} 

我的驗證功能檢查與我的兩個頁面和模態的required類的所有領域。我如何才能使用我的頁面?

UPDATE: 這有併發症,因爲我的驗證功能,或者重用的許多頁面上,而不是設置爲接受特定形式來檢查
這種事可能還是我必須做重大修改審定莫塔爾爲了這個工作?

+4

難道你沒有一個id或你的模態類,所以你可以精確的選擇?像$('。modal_class .required')或$('#modal_id .required')... –

+0

_ $('** formUniqueSelector ** .required')_ – Tushar

+0

爲什麼不使用'required'屬性。 – Tushar

回答

1

您可以檢測到提​​交按鈕被單擊的表單。像下面的東西應該工作。

//validate function 
function validateFields($submittedForm) { 
    var valid = true; 
    $('$submittedForm .required').each(function() { 
     if (!$(this).val()) { 
      addError(this, 'required'); 
      valid = false; 
     } 
    }); 
} 

//in my save function 

// Find the form there 'this' is the submit button 
var $submittedForm = $(this).closest('form'); 

function saveLead($submittedForm){ 
    if (validateFields($submittedForm)) { 
     //save 
    } 
} 
+0

這是一個好主意,但我沒有辦法將表單傳遞給我的驗證函數。請參閱編輯 –

+0

這應該是可能的,你如何檢測表單提交? – Davey

+0

其角度的應用程序,我從保存功能調用validateForm函數 –