2010-07-13 8 views
8

मुझे कुछ कस्टम जावास्क्रिप्ट सत्यापन को आग लगाना होगा और फिर जावास्क्रिप्ट का उपयोग करके अपना एएसपी.नेट सबमिट करना होगा।कस्टम सत्यापन के बाद जावास्क्रिप्ट के साथ ASP.NET सबमिट करने के लिए कैसे करें

मैं जावास्क्रिप्ट का उपयोग कर फ़ॉर्म कैसे सबमिट करूं?

उत्तर

8

एक पोस्टबैक जावास्क्रिप्ट के माध्यम से आप के लिए जावा स्क्रिप्ट कोड बनाने के लिए निम्नलिखित सर्वर साइड कॉल कर सकते हैं करने के लिए:

string postBackJavascript = Page.GetPostBackEventReference(yourControl); 

यह एक स्ट्रिंग के रूप __doPostBack जावा स्क्रिप्ट कोड वापस आ जाएगी, और आप पर यह जगह की आवश्यकता होगी अपने पृष्ठ कुछ से जुड़ी या आप के साथ अपने दम पर सीधे __doPostBack कॉल कर सकते हैं:

__doPostBack(yourControlId,''); 

आप इसे खुद कर रहे हैं और Page.GetPostBackEventReference का उपयोग नहीं तो नियंत्रण के लिए ClientID पाने के लिए सुनिश्चित कर लें कि, सत्यापन शुरू हो रहा है जैसे:

__doPostBack('<%= yourControl.ClientID %>',''); 

संपादित करें: अपने प्रश्न को फिर से पढ़ने के बाद आप यह नहीं कहा कि आप एक ASP.NET नियंत्रण के आधार पर पोस्टबैक को गति प्रदान करना चाहता था, तुम भी उपयोग नहीं कर रहा हो सकता है किसी भी ASP.NET उस मामले में तो नियंत्रित करता है, तो आप सिर्फ एक वेनिला पोस्टबैक आप कर सकते हैं क्या करना चाहते हैं:

document.forms[0].submit(); 
+0

अच्छी तरह से आपने पूछा .. मैं एक एएसपी.Net बटन का उपयोग करके सबमिट करने की कोशिश कर रहा हूं। अभी मैं सबमिट नहीं करने के लिए बटन नहीं प्राप्त कर सकता। मेरे पास OnClientClick = "मान्य है(); झूठी वापसी;" लेकिन काम नहीं लग रहा है। कोई विचार?? – bill

+0

@ बिल जो काम करना चाहिए ... 'validate()' को हटाने का प्रयास करें और देखें कि क्या 'झूठी वापसी' है, 'काम करता है। मेरा झुकाव 'मान्य()' में कुछ कर रहा है जो उस व्यवहार को कारण बना रहा है क्योंकि यह सही दिखता है। शायद एक और सवाल शुरू करें और अपना 'मान्य() 'कोड शामिल करें। – Kelsey

+0

ईवेंट को स्टैक्ड होने के कारण आपको बटन व्यवहार को रद्द करने में समस्या हो सकती है। तो मूल रूप से ऐसा पोस्टबैक आपके जावास्क्रिप्ट से पहले निकाल दिया जाता है। इसलिए आपको शीर्ष पर डालने से पहले मूल घटना को साफ़ करने की आवश्यकता है। अन्यथा बटन हमेशा सबमिट होगा। – Simon

3

यदि आप वापस पोस्ट करना चाहते हैं, तो आप __doPostBack() का उपयोग कर सकते हैं कि ASP.NET <form> में डाल दिया गया है। इस link पर एक नज़र डालें। यदि आप एक और फॉर्म जमा करना चाहते हैं तो फॉर्म तत्व पर .submit() पर कॉल करें।

3

यह होना चाहिए के रूप में सरल रूप में

document.forms[0].submit(); 

प्रदान करें डी, आपके पास पृष्ठ पर केवल एक ही फॉर्म है, अन्यथा आपको इंडेक्स 0 के बजाय फॉर्म नाम का उपयोग करने की आवश्यकता है।

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