2010-05-23 18 views
5

मैं इस पारंपरिक सबमिट बटन पर जो इस तरह कोई फ़ॉर्म सबमिट किया है:जावास्क्रिप्ट के माध्यम से कोई फ़ॉर्म सबमिट करने के तरीके को कैसे जांचें?

<form method="post" id="form_submit"> 
... 
<input class="button" type="submit" name="Submit" value="Submit"> 
</form> 

और अगर सबमिट बटन पर इस का उपयोग करते हुए क्लिक किया जाता है मैं जाँच:

if(isset($_POST['Submit'])){ 
    //update DB 
} 

अब मैं एक jQuery का उपयोग कर लिंक सबमिट:

<a href="#" onclick="publish(); return false;">Submit</a> 

जे एस कोड:

$("#form_submit").submit(); 

if(isset($_POST['Submit'])) के लिए यहां उपयोग करने का वैकल्पिक तरीका क्या है क्योंकि मैं जावास्क्रिप्ट का उपयोग कर फ़ॉर्म सबमिट कर रहा हूं?

+0

आप के माध्यम से सबमिट कर रहे हैं AJAX/कुछ प्लगइन, या आप 'submit()' को जानना चाहते थे? यदि आप जावास्क्रिप्ट के माध्यम से फॉर्म जमा करते हैं, तो बटन जो अन्यथा मौजूद होगा, पोस्ट किए गए डेटा में नहीं होगा। –

+0

मैं एक फेसबुक एप पर काम कर रहा हूं, और मैं .submit() का आविष्कार करने से पहले एक एफबी पॉपअप बुला रहा हूं, हर किसी की मदद के लिए धन्यवाद, सरफ्राज़ ने समस्या को सही तरीके से खींचा। छुपा इनपुट फिर भी एक अच्छा विकल्प है :) – SteD

उत्तर

5

अगर मैं तुम्हें सही ढंग से समझ, इस प्रयास करें:

if ($_SERVER['REQUEST_METHOD'] === 'POST') 
{ 
// your code......... 
} 
+0

+1 अच्छा और सरल। –

+0

धन्यवाद आदमी! यह वही है जो मुझे चाहिए। – SteD

+0

@ एसटीडी: आपका स्वागत है :) – Sarfraz

0

सबसे अच्छा समाधान "है कि ऐसा मत करो" है। यदि आप कोई फॉर्म जमा करना चाहते हैं तो सबमिट बटन का उपयोग करें (पृष्ठ के शीर्ष पर हाइपरलिंक पर क्लिक करने के दुष्प्रभाव के रूप में इसे न करें)। आप जिस भी जावास्क्रिप्ट को चलाने के लिए चाहते हैं उसे फॉर्म के submit ईवेंट में संभाला जा सकता है।

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

1

यदि मैं आपकी समस्या को सही ढंग से समझता हूं कि आप आसानी से इनपुट प्रकार को छुपा सकते हैं।

<form method="post" id="form_submit"> 
... 
<input type="hidden" name="Submit"> 
</form> 

$ _POST ['सबमिट'] चर परिभाषित किया जाएगा।

4

आप रूप है जो हमेशा प्रस्तुत हो जाएगा करने के लिए एक छिपा इनपुट <input type="hidden" name="formsubmit" value="yes" /> जोड़ना चाहिए, और बटन के बजाय उस के लिए जाँच (जो केवल सबमिट हो जाता है, तो उस पर क्लिक किया है ..)

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

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