2010-02-10 7 views
13

मेरे पास काफी परेशान समस्या है जिसे मैंने शोध किया है और खाली हो गया है;jQuery मान्य(); केवल एक प्रकार के सबमिट बटन के क्लिक पर मान्य करें

परिदृश्य: मैं एक रूप है, jQuery bassistance.de के सत्यापन() प्लगइन (http://docs.jquery.com/Plugins/Validation) के साथ।

क्या काम पूरी तरह सबमिट करने पर करता है; मैं दो प्रकार के सबमिट बटन।

कोई सामान्य रूप से फॉर्म सबमिट करता है, मेरी बैक-एंड सत्यापन को ट्रिगर करता है और त्रुटियों या सफलता को वापस करता है।

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

HTML:

<form method="post" action="" id="ApplicationForm" name="ApplicationForm"> 

    <input id="job1" name="job1" class="required"/> 
    <input type="submit" name="delete_job1" value="Delete" class="delete" /> 

    <input id="job2" name="job2" class="required"/> 
    <input type="submit" name="delete_job2" value="Delete" class="delete" /> 

    <input type="submit" name="add_job" value="Add Job" class="add" /> 

    <input type="submit" name="ApplicationForm" value="Save Details" class="submit" /> 

</form> 

मैं नीचे सही सबमिट बटन के लिए एक श्रोता की कोशिश की है, लेकिन यह सिर्फ सभी togerther सत्यापित करें बंद हो जाता है;

$(document).ready(function() 
{ 
    var submitPress 

    $(".submit").click(function() 
    { 
     submitPress = true; 
    }); 

    if (submitPress) 
    { 
     $('form#ApplicationForm').validate(); 
    } 
}); 

मुझे लगता है कि यह वैध है(); श्रोताओं को पृष्ठ की शुरुआती लोडिंग पर सेट किया गया है, सबमिट करने पर नहीं ...

क्या वैध() के लिए कोई नियम या सेटिंग है; मुझे याद आ रही है, कि मैं पुराने पुराने फेशियल जेएस के साथ उपयोग कर सकता हूं, या यहां तक ​​कि एक अच्छा हैक भी कर सकता हूं।

मुचोस ग्रेटिया जो कभी भी मदद कर सकता है, मैं अपने whits अंत में हूँ।

आपकी, कार्य देर, फिर से, डेवलपर

उत्तर

23

http://docs.jquery.com/Plugins/Validation/Reference#Skipping_validation_on_submit

मूल रूप से, प्रस्तुत बटन जो आप सत्यापन को गति प्रदान करने के लिए नहीं करना चाहती class="cancel" जोड़ें।

<input type="submit" value="I Validate" /> 
<input type="submit" class="cancel" value="I skip Validation" /> 
+0

चीयर्स क्रिस, बैजर है ... मुझे नहीं पता कि मुझे यह कैसे याद आया। सोचो कि मैंने कल रात ट्वाइलाइट जोन में प्रवेश किया और घर जाना पड़ा। –

+0

sweeeet ... jquery मोबाइल का उपयोग करके, सोचा कि यह एक डेटा- * विशेषता हो सकती है। धन्यवाद @rambo कोडर – sonjz

+0

2015 तक कक्षा = "रद्द करें" अब बहिष्कृत है। अब आप 'formnovalidate' विशेषता जोड़ते हैं। नवीनतम दस्तावेज देखने के लिए लिंक पर क्लिक करें। – Ben

0

अपने काम नहीं कर रहा है, क्योंकि आईडी आप अपने इनपुट तत्व की व्यवस्था की है, इस submit_1_btnSubmit तरह बदल बनने कि, पेज लोड के बाद

तो इस त्रुटि से छुटकारा पाने के लिए आप का उपयोग कर सकते ClientIDMode="Static"

(if you are working on asp.net) 
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" CssClass="Submit" ClientIDMode="Static" /> 

else 

you may access `clientIDmode` property on button control dynamically. 
संबंधित मुद्दे