2012-11-16 11 views
5

मान्य करने के लिए मैं इस कोड है जो खाली है, तो इनपुट के मूल्य को मान्य है और एक चहचहाना बूटस्ट्रैप पॉपओवर साथ संदेश त्रुटि से पता चलता है:दोहराएं मूल्य

$(document).on("ready", login_events()); 

function login_events(){ 

    $("#userId, #password").on("change", validateEmpty); 
    $("#loginButton").on("click", validateAll); 

} 

function validateEmpty(){ 

    input = $(this); 
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
    isValid = true; 

    if(input.val() === ""){ 
     input.popover('show'); 
     isValid = false; 
    } 
    else{ 
     input.popover('hide'); 
    } 

    return isValid; 

} 

यह पूरी तरह से काम करता है जब परिवर्तन ईवेंट किया है, लेकिन मैं एक और फ़ंक्शन करना चाहते हैं जो फ़ॉर्म में प्रत्येक इनपुट के बीच पुनरावृत्त होगा, अगर यह खाली है तो मान्य करें (validateEmpty()) और अगर कोई खाली है तो रोकें।

आप मैं validateAll समारोह जो मैं कुछ इस तरह है, लेकिन चलाने के लिए एक सही तरीके से यह करने के लिए को समझ नहीं सकता #loginButton के लिए क्लिक करें घटना सेटअप देख सकते हैं:

function validateAll(event){ 

    $("#loginForm input").each(validateEmpty); 

} 

उत्तर

1

इस बंद का प्रयास करें :

function validateAll(event){ 
    var isValid = true; 
    $("#loginForm input").each(function(){ 
     input = $(this); 
     input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
     isValid = true; 

     if(input.val() === ""){ 
      input.popover('show'); 
      if (isValid) 
       isValid = false; 
     } 
    }); 
    if (!isValid) { 
     alert('form is not valid!'); 
    } 
} 
+0

धन्यवाद आदमी, मैं कोड में isValid को संभालने के तरीके के साथ कुछ समझ सकता हूं। मैंने नीचे जवाब लिखा था। –

0

धन्यवाद @VMAtm! मैंने फ़ंक्शन को प्रत्येक() के अंदर प्रतिस्थापित किया है जो सत्यापन विधि को चलाने के लिए है जिसे मैंने पहले से बनाया है। यह अब बहुत अच्छा काम कर रहा है!

function validateAll(event){ 

    isValid = true; 

    $("#loginForm input").each(validateEmpty); 

    if(!isValid){ 
    event.preventDefault(); 
    } 
} 
संबंधित मुद्दे