2010-01-21 5 views
7

मैं http://docs.jquery.com/Plugins/Validation पर पाए गए jQuery सत्यापन प्लगइन के साथ कुछ एएसपीनेट टेक्स्टबॉक्स को सत्यापित करना चाहता हूं, लेकिन ऐसा लगता है कि तत्व फ़ॉर्म टैग के बीच होना चाहिए। अगर मेरे पास केवल कुछ तत्व हैं, तो मैं शायद ही इसे एक फॉर्म कहूंगा, इसलिए मैं उन्हें फॉर्म तत्व के अंदर लपेट नहीं सकता था। क्या इसके चारों ओर एक रास्ता है? साथ ही, यदि मेरे पास फॉर्म पर दो बटन हैं, एक रद्द करें और एक सबमिट बटन है और मैं फॉर्म को केवल सबमिट करना चाहता हूं जब सबमिट बटन क्लिक किया गया हो, लेकिन रद्द बटन नहीं, यह कैसे पूरा किया जाता है?क्या Jquery सत्यापन प्लगइन को एक फ़ॉर्म टैग की आवश्यकता है?

+0

एक फॉर्म यह है कि आप ब्राउजर को डेटा कहां भेजते हैं। एक के बिना नियंत्रण बेकार है ... जब तक आप जावास्क्रिप्ट में नकली नहीं बनाते, जो नियम 2 का उल्लंघन करता है: http://icant.co.uk/articles/pragmatic-progressive-enhancement/#build – Quentin

+0

प्रश्न के दूसरे भाग के बारे में क्या , उदाहरण के लिए सबमिट बटन क्लिक करने पर ही मान्य है। मेरे पास एक रद्द बटन है जो क्लिक करते समय, कुछ भी नहीं करना चाहिए, लेकिन यह अभी भी फॉर्म को मान्य करता है। – Xaisoft

+0

आप पूर्ण पोस्ट बैक कर रहे हैं? जैसे कि आपका रद्द करें बटन सिर्फ फ़ील्ड को साफ़ करता है क्यों इसे सबमिट बटन बनाते हैं? और एक बटन नहीं? यदि आप इसे बटन बनाते हैं तो मुझे नहीं लगता कि यह सत्यापन को ट्रिगर करेगा। आप उन्हें दोनों बटन बना सकते हैं और एक बटन में यह सबमिट विधि को कॉल करेगा (आप jquery में बनायेंगे)।फिर अगला जैसे वैध() विधि का उपयोग करेगा जो jquery सत्यापन के साथ आता है। इस तरह आप AJAX पोस्ट की तरह कर सकते हैं। – chobo2

उत्तर

2

मैं सिर्फ एक जोड़े तत्वों है, मैं शायद ही है कि एक रूप कहेंगे, तो मैं होगा बजाय उन्हें नहीं फॉर्म तत्व के अंदर लपेटा गया।

यदि तत्व किसी फ़ॉर्म टैग के भीतर नहीं हैं, तो यह एक वैध HTML दस्तावेज़ नहीं है, इसलिए ब्राउज़र के विकृत HTML से संबंधित व्यवहार के आधार पर स्क्रिप्ट के भीतर व्यवहार भरोसा हो सकता है।

अधिकतर ब्राउज़र एक फॉर्म बनाते हैं, लेकिन अब आपके पास फॉर्म के व्यवहार पर कोई नियंत्रण नहीं है। डिफ़ॉल्ट रूप से अनुरोधित पृष्ठ के URL पर लक्षित पोस्ट एक्शन फॉर्म होता है।

समस्या यह है कि, आपको शायद यह नहीं पता कि JQuery में किस संदर्भ का उपयोग करने के लिए चयनकर्ता का उपयोग करना है ... लेकिन मुझे लगता है कि $("form") चाल करेगा।

सत्यापित करें जब सबमिट बटन पर क्लिक किया जाता है, लेकिन रद्द नहीं बटन

प्लग में अवरोध और एक फार्म की घटना प्रस्तुत पर चलता है। आम तौर पर रद्द बटन प्रकार विशेषता "रीसेट" पर सेट के साथ एचटीएमएल इनपुट तत्व हैं:

<input type="reset" value="cancel" /> 

एक रीसेट बटन प्रकार फ़ॉर्म सबमिट करने का कारण नहीं होगा, और यह मान्यता ट्रिगर नहीं करेगा।

यदि आप किसी अन्य बटन प्रकार का उपयोग करते हैं, तो सुनिश्चित करें कि ऑनक्लिक भी झूठा रिटर्न देता है। यह फ़ॉर्म की सबमिट कार्रवाई को रद्द करता है लेकिन बटन क्लिक होने पर भी आपको अपने स्वयं के जावास्क्रिप्ट को चलाने की अनुमति देता है।

+0

मैं एक एएसपी का उपयोग कर रहा हूं: रद्द करने और जमा करने के लिए बटन। – Xaisoft

+0

मैंने वास्तव में दूसरे भाग को समझ लिया। मैंने UseSubmitBehavior प्रॉपर्टी को रद्द बटन के लिए गलत पर सेट किया है और इसे एक प्रकार = सबमिट के बजाय नियमित इनपुट प्रकार = बटन बनाया है और इस मुद्दे को हल किया है। मैंने LiveValidation स्क्रिप्ट का उपयोग करने का फैसला किया। यह बहुत अच्छी तरह से काम करता है। सहायता के लिए धन्यवाद। – Xaisoft

2

jquery मान्य प्लगइन को फ़ंक्शन करने के लिए एक फॉर्म तत्व की आवश्यकता होती है, इसलिए आपके फॉर्म में फ़ील्ड फ़ील्ड होना चाहिए (चाहे कितना कम हो)।

आप सत्यापन सबमिशन पर काम न करने के लिए सत्यापन प्लगइन बता सकते हैं, फिर सही सबमिट बटन क्लिक होने पर मैन्युअल रूप से फॉर्म को सत्यापित कर सकते हैं।

उदाहरण के लिए, एक वर्ग का उपयोग कर सही पहचान करने के लिए सबमिट बटन:


$(document).ready(function() { 
    var form = $("form"); 

    form.validate({ 
    onsubmit: false, 
    }); 

    //Validate form only if validation submit button is clicked 
    //Allows cancel submit buttons to function properly 
    $('.validate', form).click(function() { 
    if (form.valid()) { 
     form.submit(); 
    } 
    else { 
     form.validate().form(); 
    } 
    }); 

}); 
संबंधित मुद्दे