2008-10-29 7 views
7

मेरे पास एक फॉर्म है जो मैं फॉर्म प्लगइन से jQuery के AJAXSubmit फ़ंक्शन का उपयोग कर सबमिट कर रहा हूं। मैं प्रस्तुत करने से पहले फॉर्म डेटा में फॉर्म नाम/मूल्य जोड़ी जोड़ने की कोशिश कर रहा हूं। मेरी योजना पहले से सबमिट ईवेंट हैंडलर में फॉर्म डेटा को संशोधित करना है।jQuery के साथ फॉर्म मानों को संशोधित करना AJAX सबमिट करें?

function handleActionFormBeforeSubmit(formData, form, options) { 
    // Add a name/value pair here somehow to formData 
} 

मैं formData के लिए एक सरल जोड़ी कैसे जोड़ सकता हूँ:

एक समारोह है कि तरह लग रहा है यह देखते हुए? यह के रूप में एक सरणी है:

[ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ] 

धन्यवाद, ब्रायन

उत्तर

16

प्रयोग के एक घंटे के बाद, मैं एक समाधान पता लगा। फॉर्म डेटा में मान जोड़ने के लिए, निम्न कोड काम करेगा।

formData[0].value = 'new value'; 

मुझे आशा है कि यह किसी और में मदद करता है:

function handleActionFormBeforeSubmit(formData, form, options) { 

    // Add a name/value pair indicating this is an asynchronous call. 
    // This works with the ASP.NET MVC framework's Request.IsMvcAjaxRequest() method. 
    formData[formData.length] = { "name": "__MVCASYNCPOST", "value": "true" }; 
} 

तुम भी डेटा यदि आप मूल्य के सूचकांक आप बदलना चाहते हैं जैसे पता बदल सकते हैं।

+0

धन्यवाद ... इससे मेरी मदद मिली –

7

यह ठीक है:

formData.push({ "name": "__MVCASYNCPOST", "value": "true" }); 
0

कुछ beforeSubmit कॉलबैक में डेटा को बदलने मेरे लिए काम नहीं किया, जब मैं इस समस्या का सामना करना पड़ा कारण के लिए।

हालांकि फॉर्म विकल्पों में "डेटा" को ऑब्जेक्ट निर्दिष्ट करने से इस ऑब्जेक्ट को धारावाहिक डेटा में जोड़ा जा सकता है। यह jquery फॉर्म वेबसाइट पर स्पष्ट रूप से प्रलेखित नहीं है लेकिन अंतर्निहित $ .ajax विधि का हिस्सा है।

1

फॉर्मडाटा [0] .value = 'new value'; AjaxSubmit() में ठीक काम कर रहा है। मैंने फाइल सामग्री को गतिशील रूप से अपलोड करते समय भी लागू किया था। इससे पहले कि कई बार, फॉर्म सर्वर में रिक्त डेटा भेजता है, इसलिए यह कोड आपके फॉर्म को सबमिट करने से पहले बदलने में मददगार है।

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