2011-10-06 11 views
5

मेरे पास एक jQuery फ़ंक्शन है जो मैं केवल तभी निष्पादित करना चाहता हूं जब फॉर्म सत्यापन सही है
मेरे पास सत्यापन और अन्य jQuery काम कर रहे हैं।
समस्या अब दोनों सत्यापन और अन्य फ़ंक्शन एक ही समय निष्पादित कर रहे हैं।
मैं केवल अन्य फ़ंक्शन को चलाने के लिए चाहता हूं यदि फ़ॉर्म सत्यापन सही है। यहाँ मेरी स्क्रिप्ट हैjQuery अगर myform.valid() सत्य है तो एक और jQuery फंक्शन आग?

<script> 
      $(document).ready(function() { 
       $.validator.addClassRules({ 
        fileName: { 
         required: true 
        } 
       }); 
       $("#myform").validate(); 
       if ($("#myform").valid()) { 
        $(function() { 
         $('#myform').submit(function() { 
          var cboxes = ($('input:checkbox:checked').filter(":checked").length); 
          var nboxes = ($(":checkbox:not(:checked)").length); 
          if ((cboxes > 0) && (nboxes > 0)) { 
           confirm('You have Checked only few locations among the List. \n Are you sure, you do not want to Prescribe from the other locations? '); 
          } else if (cboxes == 0) { 
           alert('Please select atleast One Address \n Where you would prefer to prescribe from.'); 
           return false; 
          } 
          else { 
           return true; 
          } 
         }); 
        }); 
       } 
      }); 
</script> 

कृपया सलाह देने के लिए मैं कैसे यह किया जा सकता है?

+0

अपने कोड अब तक क्या है उपयोग करने के लिए है? प्रासंगिक भागों को पोस्ट करें और हम देखेंगे। –

उत्तर

3

आप standard plugin उपयोग कर रहे हैं, इस तरह के कोड का समर्थन किया जाना चाहिए:

$(document).ready(function() { 
    $("#myForm").validate({ 
     submitHandler: function(form) { 
      SomeFuncHere(); 
     } 
    }); 
}) 

submitHandler में कोड सफल सत्यापन के बाद बुलाया जाना चाहिए।

संपादित करें: अपने कोड के आधार पर हैं, तब यह प्रयास करें:

$("#myform").validate({ 
    submitHandler: function(form) { 
     var cboxes = ($('input:checkbox:checked').filter(":checked").length); 
     var nboxes = ($(":checkbox:not(:checked)").length); 
     var flag = false; 
     if ((cboxes > 0) && (nboxes > 0)) { 
      flag = confirm('You have Checked only few locations among the List. \n Are you sure, you do not want to Prescribe from the other locations? '); 
     } else if (cboxes == 0) { 
      alert('Please select atleast One Address \n Where you would prefer to prescribe from.'); 
     } 
     else { 
      flag = true; 
     } 
     return flag; 
    } 
}); 
+0

मैं आपके सुझाव चुन सकता हूं, इसलिए मैंने अपनी स्क्रिप्ट को चिपकाया है कि आप मेरी मदद कर सकते हैं – HaBo

+0

अब मेरा संपादन देखें। –

+0

बहुत बहुत धन्यवाद यह पूरी तरह से काम किया – HaBo

5

आप jQuery प्लगइन तो valid() विधि एक बूलियन रिटर्न इंगित करने के लिए किया जाए या नहीं प्रपत्र सफलतापूर्वक मान्य मान्य है, तो आप सिर्फ कर सकता है उपयोग कर रहे हैं:

if ($("#myform").valid()) { 
    CallSomeOtherFunction(); 
} 
+0

मैं आपके सुझाव चुन सकता हूं, इसलिए मैंने अपनी स्क्रिप्ट को चिपकाया है कि आप बेहतर मदद कर सकते हैं – HaBo

1

आप .validate().form()

if (!$("#myform").validate().form()) { 
    return false; //doesn't validate 
}else 
{ 
    //form is validated do your work 
} 
संबंधित मुद्दे