2011-11-08 20 views
88

मेरे पास एक ऐसा फॉर्म है जिसमें एक बटन है जो फॉर्म सबमिट करता है। जमा होने से पहले मुझे कुछ करने की ज़रूरत है। मैंने पर उस बटन पर पर क्लिक करने की कोशिश की लेकिन सबमिट के बाद यह होता है।जमा करने से पहले कुछ कैसे करें?

मैं कोड साझा नहीं कर सकता, लेकिन आम तौर पर, मुझे इसे संभालने के लिए jQuery या JS में क्या करना चाहिए?

+6

* खांसी * [jsFiddle उदाहरण] (http://jsfiddle.net/XVAPa/) * खांसी * –

+1

@ ब्रैड क्रिस्टी अगर मैं केवल उत्तर के रूप में टिप्पणी स्वीकार कर सकता हूं। बहुत बहुत धन्यवाद। – Jimmy

+1

स्टैकओवर एक प्रश्न बंद करते समय मुझे इससे नफरत है। तुम सिर्फ एक प्रपत्र प्रस्तुत करने से पहले निम्न इवेंट जो निम्न समय पर आग का उपयोग कर अपने क्रियाओं को संचालित कर सकते हैं: onmouseover 2- onmousemove 1- onmousedown 4- onFocus 5- onmouseup 6- onclick 7- ऑनसबमिट –

उत्तर

138

आप इस तरह के रूप में एक स्वरूप में हैं:

<form id="myform"> 
... 
</form> 

आप से पहले फ़ॉर्म सबमिट किया जाता कुछ करने के लिए निम्नलिखित jQuery कोड का उपयोग कर सकते हैं:

$('#myform').submit(function() { 
    // DO STUFF... 
    return true; // return false to cancel form action 
}); 
+1

का उपयोग करें लूप के लिए इसका उपयोग करने में परेशानी हो रही है जिसे जमा करने से पहले पूरा करना होगा। कोई सुझाव? – Smilyan

+0

कोई कोड देखने के लिए मिला? यकीन नहीं है कि मैं समस्या को समझता हूं। –

+2

यह खाली फ़ंक्शन कॉल में क्यों लपेटा गया है? 'सबमिट' फ़ंक्शन को आसपास के खाली फ़ंक्शन के बिना '$ ('# फॉर्म') पर सीधे बाध्य करने में सक्षम नहीं होना चाहिए? संपादित करें: [दस्तावेज़ बताते हैं कि आसपास के फ़ंक्शन कॉल की आवश्यकता नहीं है] (https://api.jquery.com/submit/#submit-eventData-handler)। – eykanal

4

सबमिट बटन सुनिश्चित करें कि नहीं की है "सबमिट करें" टाइप करें, इसे एक बटन बनाएं। फिर कुछ जावास्क्रिप्ट ट्रिगर करने के लिए ऑनक्लिक ईवेंट का उपयोग करें। वास्तव में आप अपना डेटा पोस्ट करने से पहले जो भी चाहें कर सकते हैं।

+1

फ़ॉर्म को कई तरीकों से सबमिट किया जा सकता है, जैसे कि कुछ फ़ील्ड में एंटर दबाकर। एक बटन पर क्लिक करने के लिए बाध्यकारी जिसे क्लिक नहीं किया जा सकता है, एक अच्छा विचार नहीं है। अन्य उत्तरों बताते हैं कि आप * फॉर्म * के 'सबमिट' को कैसे बांधते हैं, इससे कोई फर्क नहीं पड़ता कि फ़ॉर्म कैसे सबमिट किया जाता है। – Jason

13

मान लिया जाये कि आप इस तरह से एक रूप है:

<form id="myForm" action="foo.php" method="post"> 
    <input type="text" value="" /> 
    <input type="submit" value="submit form" /> 

</form> 

आप इस तरह jQuery के साथ एक onsubmit -event संलग्न कर सकते हैं:

$('#myForm').submit(function() { 
    alert('Handler for .submit() called.'); 
    return false; 
}); 

आप return false प्रपत्र के बाद प्रस्तुत नहीं किया जाएगा फ़ंक्शन, यदि आप सच करते हैं या कुछ भी नहीं, तो यह सामान्य रूप से सबमिट होगा।

अधिक जानकारी के लिए jQuery documentation देखें।

5

आप इस तरह के फार्म जमा करने से पहले कुछ जावास्क्रिप्ट या jQuery कोड को चलाने के लिए onclick उपयोग कर सकते हैं:

<script type="text/javascript"> 
    beforeSubmit = function(){ 
     if (1 == 1){ 
      //your before submit logic 
     }   
     $("#formid").submit();    
    } 
</script> 
<input type="button" value="Click" onclick="beforeSubmit();" /> 
+14

लेकिन यह काम नहीं करता है, जब फॉर्म में उदा। एक इनपुट फ़ील्ड जिसे उपयोगकर्ता रिटर्न कुंजी मार रहा है जो सबमिट ईवेंट को फायर कर रहा है। सबमिट ईवेंट पर सीधे अटैचमेंट करना बेहतर होता है ताकि आप यह सुनिश्चित कर सकें कि उपयोगकर्ता ने सबमिशन को कैसे निकाल दिया है, इस पर ध्यान दिए बिना इसे कॉल किया जाता है। – acme

+2

<इनपुट प्रकार = "सबमिट करें" मूल्य = "क्लिक करें" onmouseover = "सबमिट सबमिट करें();" /> – Ansyori

संबंधित मुद्दे