निश्चित रूप से, लिंक ( a
) टैग के साथ फ़ॉर्म जमा करने के लिए शुद्ध HTML के साथ कोई समाधान नहीं है । मानक HTML केवल बटन या छवियों को स्वीकार करता है। जैसा कि कुछ अन्य सहयोगियों ने कहा है, एक बटन का उपयोग करके लिंक की उपस्थिति का अनुकरण कर सकता है, लेकिन मुझे लगता है कि यह सवाल का उद्देश्य नहीं है।
IMHO, मेरा मानना है कि प्रस्तावित और स्वीकृत समाधान काम नहीं करता है।
मैंने इसे एक प्रपत्र पर परीक्षण किया है और ब्राउज़र को प्रपत्र का संदर्भ नहीं मिला।
इसलिए this
ऑब्जेक्ट का उपयोग करते हुए जावास्क्रिप्ट की एक पंक्ति का उपयोग करके इसे हल करना संभव है , जो क्लिक किए जाने वाले तत्व का संदर्भ देता है, जो कि फॉर्म का एक बच्चा नोड है, जिसे प्रस्तुत करने की आवश्यकता है। तो this.parentNode
रूप नोड है। इसके बाद बस submit()
उस रूप में कॉलिंग विधि। सही फ़ॉर्म को खोजने के लिए पूरे दस्तावेज़ से यह आवश्यक शोध नहीं है।
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
मान लीजिए कि मैं अपने नाम के साथ प्रवेश करता हूं:
मैंने get
फॉर्म विधि विशेषता का उपयोग किया है क्योंकि सबमिट करने के बाद लोड किए गए पृष्ठ पर URL में सही पैरामीटर देखना संभव है।
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
यह समाधान स्पष्ट रूप से किसी भी टैग पर लागू होता है जो onclick
घटना या कुछ इसी तरह की घटना को स्वीकार करता है ।
this
event
चर के साथ संदर्भ को पुनर्प्राप्त करने के लिए एक उत्कृष्ट विकल्प है (सभी प्रमुख ब्राउज़रों और IE9 में उपलब्ध है) जिसे सीधे उपयोग किया जा सकता है या किसी फ़ंक्शन के तर्क के रूप में पारित किया जा सकता है।
इस स्थिति में, a
संपत्ति का उपयोग करके, लाइन के नीचे टैग के साथ लाइन को बदलें target
, जो उस तत्व को इंगित करता है जिसने घटना शुरू की है।
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>