2012-01-14 11 views
16

इसका अर्थ क्या है जब फॉर्म action विशेषता "#" (संख्या/पाउंड प्रतीक/चिह्न/वर्ण) है?इसका क्या अर्थ है जब फॉर्म एक्शन विशेषता "#" (संख्या/पाउंड प्रतीक/चिह्न/वर्ण) है?

क्या होता है जब कोई फॉर्म इनपुट formaction विशेषता "#" पर सेट होती है? क्या यह इनपुट को सर्वर पर सबमिट करने से रोकता है?

<form method="GET" action="example.php"> 
    <input type="text" size="20" name="text1" value="text1" formaction="#"/> 
    <input type="text" size="20" name="text2" value="text2"/> 
    <input type="submit" value="Submit"/> 
</form> 

उत्तर

10

यूआरएल संदर्भ के रूप में # का अर्थ (चाहे action या formaction विशेषता मान या अन्यथा) वर्तमान बेस दस्तावेज़ की शुरुआत का संदर्भ है। मूल दस्तावेज़ वर्तमान दस्तावेज़ है, जब तक कि <base href=...> टैग सेट नहीं किया गया हो।

क्या होता है स्थिति पर निर्भर करता है। आम तौर पर, ब्राउज़र यूआरएल में एक क्वेरी भाग के साथ पृष्ठ के लिए अनुरोध करता है (और पृष्ठ फिर से लोड किया जाता है, जो कि क्लाइंट-साइड स्क्रिप्ट चलाए जा सकते हैं), लेकिन यदि पहले से ही उसी क्वेरी का उपयोग किया गया था, तो ब्राउज़र शायद उपयोग करता है इसका कैश इसके अलावा, दस्तावेज़ की शुरुआत के रूप में संदर्भित किया जाता है, किसी भी फॉर्म तत्व पर ध्यान केंद्रित किया जाता है और पृष्ठ पीछे की ओर स्क्रॉल कर सकता है।

तो हालांकि # कुछ कोडिंग शैलियों में काफी आम है, यह विश्वसनीय नहीं है; क्लाइंट-साइड इवेंट हैंडलर का उपयोग करके इसका उद्देश्य बेहतर हासिल किया जाता है।

formaction विशेषता केवल सबमिट बटन के लिए एक अर्थ है। एक टेक्स्ट इनपुट तत्व सबमिट बटन नहीं बनाता है, भले ही यह फ़ॉर्म सबमिशन ट्रिगर कर सकता है, इसलिए यहां विशेषता को अनदेखा किया जाता है।

+0

बस पास करने में: जब आपने कहा "यह विश्वसनीय है", तो क्या आपका मतलब "यह विश्वसनीय नहीं है"? –

+0

@ मैट गिब्सन, ठीक है, धन्यवाद, सही किया गया। –

2

फॉर्म स्वयं (वर्तमान यूआरएल) प्रस्तुत करेगा। मुझे लगता है कि यह खाली कार्रवाई के समान है।

इसके अलावा, उपयोगी हो सकता है अगर बाद में जावास्क्रिप्ट द्वारा कार्रवाई को बदला जा रहा है।

1

w3schools पर व्याख्या: http://www.w3schools.com/html5/html5_form_attributes.asp

फार्म अवहेलना

गुण प्रपत्र ओवरराइड गुण आप विशेषताओं प्रपत्र तत्व के लिए सेट से कुछ ओवरराइड करने के लिए अनुमति देते हैं।

रूप ओवरराइड गुण हैं:

formaction - ओवरराइड प्रपत्र कार्रवाई विशेषता
formenctype - प्रपत्र enctype विशेषता
formmethod ओवरराइड - प्रपत्र विधि का श्रेय ओवरराइड करता है
formnovalidate - प्रपत्र novalidate विशेषता को ओवरराइड करता है
फॉर्मटेक्चर - फॉर्म लक्ष्य विशेषता ओवरराइड करता है
नोट: फ़ॉर्म ओवरराइड विशेषताएँ निम्नलिखित के साथ काम करती हैं प्रकार:
सबमिट और छवि।

<form action="demo_form.asp" method="get" id="user_form"> 
E-mail: <input type="email" name="userid" /><br /> 
<input type="submit" value="Submit" /> 
<br /> 
<input type="submit" formaction="demo_admin.asp" value="Submit as admin" /> 
<br /> 
<input type="submit" formnovalidate="true" 
value="Submit without validation" /> 
<br /> 
</form> 

तो हाँ, आप बिल्कुल सही है कि यह कार्रवाई को ओवरराइड करता है, लेकिन जमा करें और छवि, पाठ पर नहीं यह केवल इनपुट प्रकार पर ओवरराइड करता है। तो आपके पास एक ही रूप में 2 अलग सबमिटबूटन हो सकते हैं लेकिन विभिन्न प्रकार के वैधता का कारण बन सकते हैं। यही वह है जिसका मैं इसका उपयोग करूंगा।

तो # एक दूसरे के बजाए एक ही पृष्ठ पर कार्रवाई करेगा।

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