2013-06-01 6 views
5

ठीक है, इसलिए मेरे सबमिट बटन पर preventDefault डालने से फ़ॉर्म सबमिशन को रोकने के लिए काम करता है। इसका नतीजा यह है कि यह आवश्यक फ़ील्ड के उपयोगकर्ता को नहीं बताएगा और बस बटन पर क्लिक ईवेंट करेगा।jQuery रोकेंडिफॉल्ट और आवश्यक फॉर्म इनपुट

सबमिट हैंडलर को preventDefault जोड़ना उपयोगकर्ता को आवश्यक फ़ील्ड दिखाता है, लेकिन फिर भी बटन से जुड़े क्लिक ईवेंट को निकाल देता है।

मुझे दोनों की आवश्यकता है।

<form action="" method="post"> 
    <input type="text" class="class" id="id" name="name" required="required" /> 
</form> 

अब js:

$("button").click(function(event){ 
    event.preventDefault(); 
    //performs function 
}); 

यह एक आवश्यक प्रपत्र इनपुट की परवाह किए बिना क्लिक करें घटना आग, होगा।

$("form").submit(function(event){ 
    event.preventDefault(); 
}); 
$("button").click(function(){ 
    //performs function 
}); 

यह उपयोगकर्ता को एक आवश्यक संदेश दिखाएगा, लेकिन फिर भी सबमिट बटन फ़ंक्शन निष्पादित करेगा। मैं दोनों कैसे करूँ? मैंने कुछ अन्य SO प्रश्नों को देखा है जो मुझे मिल सकता है लेकिन ऐसा लगता है कि preventDefault को form.submit में जोड़कर अधिकांश का उत्तर दिया जा सकता है।

+0

इस '$ (" फार्म ") की कोशिश करो प्रस्तुत (समारोह (घटना) { वापसी झूठी; });।' –

उत्तर

4

मैं वास्तव में दो चीजों को करने की कोशिश कर रहा था जब मुझे केवल एक करने की आवश्यकता थी।

मुझे बटन पर क्लिक करने की आवश्यकता नहीं थी क्योंकि डिफ़ॉल्ट रूप से यह फॉर्म सबमिट करता है। मुझे बस बटन.क्लिक फ़ंक्शन को form.submit के अंदर डालने की आवश्यकता है।

$("form").submit(function(event){ 
    //perform button function 
    return false; 
}); 
+0

हाँ! यह अब बहुत स्पष्ट लगता है, धन्यवाद! :) – andrei

0

मैन्युअल रूप से सबमिट ईवेंट को आग लगाना।

$("button").click(function(event) { 
    event.preventDefault(); 

    $('form').submit(); 
}); 
संबंधित मुद्दे