2012-06-10 8 views
5

क्या किसी को किसी भी बग या अन्य अंतर्दृष्टि के बारे में पता है कि क्यों jquery मोबाइल के साथ एमवीसी 4 का उपयोग करते हैं, किसी भी रूप को Ajax.BeginForm का उपयोग करके बनाया गया है नियंत्रक को दो बार जमा किया।एमवीसी 4, जेक्री मोबाइल, अजाक्स। बेगिनफॉर्म फॉर्म को दो बार सबमिट करने के कारण

मैं मूल रूप से सोचा था कि के बाद से मैं js bundling कर दिया गया है कि एक ही js फ़ाइल में दो बार शामिल किया जा रहा हो सकता है और प्रस्तुत फार्म पर ट्रिगर हो सकता है का उपयोग कर रहा हूँ, लेकिन ऐसा नहीं thats, जे एस फ़ाइलें की सूची इस प्रकार हैं:

jquery-1.6.4.js 
jquery-ui.1.8.11.js 
jquery.mobile-1.1.0.js 
jquery.unobtrusive-ajax.js 
jquery.validate.js 
knockout-2.0.0.js 
MicrosoftAjax.js 
MicrosoftMvcAjax.js 
MicrosoftMvcValidation.js 
Modernizr.js 
परियोजना अजाक्स पूरी तरह से सब कुछ के लिए सक्षम किया गया है यानी मैं mobileinit के माध्यम से कुछ भी नहीं कर रहा हूँ अक्षम करने के भीतर

मैंने कोई फॉर्म कोड पोस्ट नहीं किया है क्योंकि यह सचमुच प्रत्येक रूप के साथ होता है - एक फ़ील्ड वाला एक फॉर्म और सबमिट बटन दो बार जमा करने का कारण बनता है - लेकिन केवल जहां अजाक्स। बेगिनफॉर्म का उपयोग किया जा रहा है।

Html.BeginForm इन समस्याओं के किसी भी प्रदर्शन नहीं करता।

मैं अब कुछ ही दिनों तो किसी भी मदद की बहुत

+2

'माइक्रोसॉफ्ट * .js' फ़ाइलों को संदर्भित बिना यह कोशिश करो। चूंकि एमवीसी 3 के लिए अविभाज्य सत्यापन और 'अजाक्स' सहायकों के लिए उनकी आवश्यकता नहीं है। – nemesv

+0

उत्तर nemesv के लिए धन्यवाद। दुर्भाग्यवश, माइक्रोसॉफ्ट * .js फ़ाइलों को हटाने से इस विशेष समस्या –

उत्तर

7

jQuery मोबाइल की सराहना की जाएगी डिफ़ॉल्ट उच्च जैक द्वारा किसी भी रूप प्रस्तुत करने के लिए इस पर अटक गया है और अपने स्वयं के AJAX अनुरोध करता है। इस व्यवहार को रोकने के लिए आप किसी भी <form> टैग पर data-ajax="false" विशेषता रख सकते हैं। http://jquerymobile.com/demos/1.1.0/docs/forms/forms-sample.html

तुम भी बस का उपयोग में निर्मित jQuery मोबाइल AJAX के बजाय सकता है:

$('#my-form').on('submit', false); 

डॉक्स: इसके अलावा फार्म की नियमित रूप से व्यवहार को रोकने के लिए सुनिश्चित करें तो यह सामान्य रूप से की तरह कुछ प्रस्तुत नहीं करता है, बनाने के इसके लिए अतिरिक्त जेएस सहित। आपको केवल action फ़ॉर्म के गुणों को सर्वर-साइड फ़ाइल में बनाने की आवश्यकता होगी, जिन पर वे पोस्ट करते हैं।

+0

शानदार में मदद नहीं मिली, महान जवाब जैस्पर के लिए आपका बहुत बहुत धन्यवाद। –

+0

@ जैस्पर ... महान उत्तर शानदार काम कर रहा है :) –

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