2012-04-13 12 views
6

में विफल रहता है I अक्सर फॉर्म को सत्यापित करने के लिए this jQuery validation plugin का उपयोग करता है और यह बहुत अच्छा काम करता है। इससे वास्तव में प्रसन्नता हो रही है, लेकिन जब आप किसी फॉर्म पर सबमिट करते हैं तो यह स्वचालित रूप से उस फ़ील्ड पर फ़ोकस डालता है जो अमान्य था।फ़ील्ड पर फोकस रोकें जब यह सत्यापन

मेरी वर्तमान प्रोजेक्ट पर मेरे पास एक फॉर्म है जो वास्तव में लंबा है, और जब आप सबमिट बटन दबाते हैं, तो आपकी स्क्रॉल फ़ील्ड तक पहुंच जाती है (संभवतः क्योंकि यह ध्यान केंद्रित करती है), लेकिन जब मेरा फॉर्म यह लंबा लगता है तो मुझे लगता है कि यह है थोड़ा कष्टप्रद क्या किसी को पता है कि मैं अवैध इनपुट फ़ील्ड पर ध्यान केंद्रित करने से jQuery सत्यापन को अक्षम कैसे कर सकता हूं।

सर्वश्रेष्ठ संबंध!

उत्तर

18

false करने के लिए focusInvalid विकल्प का उपयोग करें और सेट यह:

$("#abc").validate({ 
    focusInvalid: false 
}); 

Working example here और Documentation here (विकल्प टैब)

-4
    अपने jQuery मान्य फ़ाइल फ़ाइल (http://jquery.bassistance.de/validate/jquery.validate.js) को
  1. जाओ
  2. उपयोग नियंत्रण और एफ खोजने के लिए
  3. लाइन 431 पर .focus() निकालें।
+5

नहीं नहीं नहीं ... क्यों कोड को संपादित जब वहाँ एक पूरी तरह से अच्छा विकल्प है - देखते हैं SOOO कई कारण हैं कि यह एक खराब विचार क्यों है – ManseUK

+0

स्वीकार्य समाधान कब काम नहीं कर रहा है? :) –

0
$('#frmTableDate').validationEngine({ focusFirstField: false }); 

मामले में हम वेलिडेशन इंजन प्लगइन का उपयोग कर रहे मान्य करने के लिए

0
$("#myform").validate({ 
onfocusout: false, 
invalidHandler: function(form, validator) { 
    var errors = validator.numberOfInvalids(); 
    if (errors) {      
     validator.errorList[0].element.focus(); 
    } 
} 
}); 
संबंधित मुद्दे