मूर्खतापूर्ण प्रश्न जैसी कोई बात नहीं है, इसलिए यहां हम जाते हैं: क्या अंतर है <input type='button' />
और <input type='submit' />
?
मूर्खतापूर्ण प्रश्न जैसी कोई बात नहीं है, इसलिए यहां हम जाते हैं: क्या अंतर है <input type='button' />
और <input type='submit' />
?
जवाबों:
<input type="button" />
बटन एक फ़ॉर्म सबमिट नहीं करेंगे - वे डिफ़ॉल्ट रूप से कुछ भी नहीं करते हैं। वे आम तौर पर एक AJAX अनुप्रयोग के हिस्से के रूप में जावास्क्रिप्ट के साथ संयोजन के रूप में उपयोग किए जाते हैं।
<input type="submit">
जब तक आप जावास्क्रिप्ट के साथ अन्यथा निर्दिष्ट नहीं करते हैं तब बटन उस रूप को सबमिट करेंगे, जब उपयोगकर्ता उन पर क्लिक करते हैं।
एक 'बटन' सिर्फ एक बटन है, जिसमें आप जावास्क्रिप्ट का उपयोग करके अतिरिक्त कार्यक्षमता जोड़ सकते हैं। एक 'सबमिट' इनपुट प्रकार में उस फ़ॉर्म को सबमिट करने की डिफ़ॉल्ट कार्यक्षमता होती है, जो (हालांकि, निश्चित रूप से, आप अभी भी जावास्क्रिप्ट का उपयोग करके अतिरिक्त कार्यक्षमता जोड़ सकते हैं)।
बटन अपने आप फॉर्म नहीं जमा करेगा। यह एक साधारण बटन है जो जावास्क्रिप्ट का उपयोग करके कुछ ऑपरेशन करने के लिए उपयोग किया जाता है जबकि सबमिट एक प्रकार का बटन है जो डिफ़ॉल्ट रूप से तब सबमिट करता है जब भी उपयोगकर्ता सबमिट बटन पर क्लिक करता है।
IE 8 वास्तव में पहले बटन का उपयोग करता है जो इसे सबमिट या बटन से सामना करता है। आसानी से इंगित करने के बजाय जो इसे इनपुट प्रकार बनाकर वांछित है = पृष्ठ पर आदेश सबमिट करना वास्तव में महत्वपूर्ण है।
यह भी उल्लेख किया जाना चाहिए कि टाइप = "सबमिट" का एक नामांकित इनपुट दूसरे प्रकार के नामित फ़ील्ड के साथ भी प्रस्तुत किया जाएगा, जबकि एक नामित इनपुट प्रकार = "बटन" नहीं होगा।
अन्य शब्दों के साथ, नीचे दिए गए उदाहरण में, नामित इनपुट name=button1
WON'T जमा नहीं होगा , जबकि नामित इनपुट name=submit1
WILL प्रस्तुत किया जाएगा।
नमूना HTML फ़ॉर्म (index.html):
<form action="checkout.php" method="POST">
<!-- this won't get submitted despite being named -->
<input type="button" name="button1" value="a button">
<!-- this one does; so the input's TYPE is important! -->
<input type="submit" name="submit1" value="a submit button">
</form>
PHP स्क्रिप्ट (checkout.php) जो उपरोक्त फॉर्म की कार्रवाई को संसाधित करती है:
<?php var_dump($_POST); ?>
नाम / tmp / test / फ़ोल्डर में दो फ़ाइलों को बनाकर अपनी स्थानीय मशीन पर उपरोक्त परीक्षण करें, फिर शेल के लिए अंतर्निहित PHP वेब सर्वर चला रहे हैं:
php -S localhost:3000 -t /tmp/test/
अपने ब्राउज़र को http: // localhost: 3000 पर खोलें और अपने लिए देखें।
एक को आश्चर्य होगा कि हमें नामांकित बटन सबमिट करने की आवश्यकता क्यों होगी? यह बैक-एंड स्क्रिप्ट पर निर्भर करता है। उदाहरण के लिए WooCommerce वर्डप्रेस प्लगइन पोस्ट किए गए एक चेकआउट पेज को संसाधित नहीं करेगा, जब तक कि Place Order
नामित बटन भी सबमिट नहीं किया जाता है। यदि आप इसके प्रकार को सबमिट से बटन में बदलते हैं तो यह बटन सबमिट नहीं होगा और इस प्रकार चेकआउट फॉर्म कभी संसाधित नहीं होगा।
यह संभवतः एक छोटा विवरण है लेकिन आप जानते हैं, शैतान विवरण में है।
<input type="button">
कहीं भी इस्तेमाल किया जा सकता है, न कि केवल फॉर्म के भीतर और वे एक में होने पर फॉर्म जमा नहीं करते हैं। बहुत बेहतर के साथ अनुकूल है Javascript
।
<input type="submit">
केवल प्रपत्रों में उपयोग किया जाना चाहिए और वे निर्दिष्ट URL पर अनुरोध (या तो GET या POST) भेजेंगे। उन्हें किसी भी HTML जगह में नहीं रखा जाना चाहिए ।
बटन तत्व के बारे में विनिर्देश पर W3C इसे स्पष्ट करता है
बटन को बिना किसी डिफ़ॉल्ट व्यवहार के सभी प्रकार के बटन के लिए एक सामान्य वर्ग के रूप में देखा जा सकता है।
type='Submit'
BACK-END (PHP, .NET आदि) पर मूल्यों को अग्रेषित करने और प्राप्त करने के लिए सेट किया गया है।
type='button'
सामान्य बटन व्यवहार को प्रतिबिंबित करेगा।