2011-06-15 22 views
5

पर jQuery अवरोध फ़ॉर्म सबमिशन मेरे पास एक फॉर्म है। यह फॉर्म POST के माध्यम से एक आईफ्रेम पर सबमिट करता है, बदले में, अनुरोध संसाधित हो जाता है और परिणाम के आधार पर, जावास्क्रिप्ट निष्पादित किया जाता है जो सबमिशन की वैधता के अनुसार माता-पिता की सामग्री को बदलता है।परम स्ट्रिंग

अब, मुझे यह प्रक्रिया पसंद नहीं है। मैं एक साथ कई रूपों को प्रस्तुत करने की क्षमता चाहता हूं, लेकिन मेरे पास केवल यह एक छिपी हुई आईफ्रेम है। इसलिए मैं इसे AJAX के साथ करना चाहता हूं, प्रत्येक फॉर्म सबमिशन के लिए एक अलग अनुरोध बना रहा हूं।

हालांकि, मेरा फॉर्म जटिल है; इसमें चेकबॉक्स होते हैं जो एरे के लिए वेरिएबल्स जोड़ते हैं, जिन पर क्लिक किया जाता है और जिनके क्लिक निर्देशांक की आवश्यकता होती है, और इस तरह की जटिल चीजें - यही कारण है कि मैं प्रत्येक इनपुट के प्रत्येक मान की गणना करने और इसे पोस्ट पैरामीटर में जोड़ने की बजाय स्ट्रिंग (वैसे: मुझे नहीं पता कि मैं इस तरह से सरणी कैसे बना सकता हूं), मैं उन सभी पैरामीटर के साथ पोस्ट स्ट्रिंग के रूप में सहेजे गए सबमिशन सामग्री को अवरुद्ध करना पसंद करूंगा, और फिर AJAX के लिए इस स्ट्रिंग का उपयोग करना चाहूंगा पोस्ट अनुरोध

मैं इस समारोह में करना चाहते हैं यही कारण है कि:

$('#myForm').submit(function(event){ 

    // process the submission, e. g. event.getContent().toPostString(); 

    // create the AJAX request and send it and attach listeners (I know how to do this line ;) 

    return false; // I don't want the form submitted (to the iframe) 

}); 

अग्रिम धन्यवाद!

उत्तर

7

एक iframe का उपयोग न करें, बस jQuery's ajax methods का उपयोग करें: (मैं नीचे दिए गए उदाहरण में post() इस्तेमाल किया)

$('#myForm').submit(function(event){ 

      //url   //post data 
    $.post(this.action, $(this).serialize(), function(returnData){ 
      //do something with returnData 
    }) 

    return false; //do not submit form the normal way 

}); 

यहाँ एक उदाहरण है: के रूप में http://jsfiddle.net/maniator/Y6r8E/
प्रकार कुछ और सबमिट करें।

+0

बिल्कुल सही! गजब का! वाह, बस मुझे क्या चाहिए! – arik

+0

@ arik-so कोई समस्या नहीं^_^ – Neal

+0

एक चीज़ के अलावा, मैंने अभी देखा है। यदि सबमिट बटन के रूप में छवियों का उपयोग करते हैं, न तो स्थिति पर क्लिक करें (जो इतना भयानक नहीं होगा), लेकिन क्लिक की गई छवि (यदि संभावित छवियों के रूप में कई छवियों का उपयोग करना) पास नहीं किया जाता है। – arik

1

jQuery का serialize() फ़ंक्शन आपके लिए फ़ॉर्म डेटा एकत्र करेगा, ताकि .ajax() या .post() के माध्यम से आसान फॉर्म सबमिशन की अनुमति मिल सके।