अर्थात:
<form 1>
<input type="hidden" name="url" value="1">
</form 1>
तथा
<form 2>
<input type="hidden" name="url" value="2">
</form 2>
क्या यह अनुमति है और वैध है?
जवाबों:
हाँ, यह मान्य है
यह अच्छा है
<form name="form1">
<input type="hidden" name="url" value="1">
</form>
<form name="form2">
<input type="hidden" name="url" value="2">
</form>
यह भी ठीक है और आम तौर पर मूल्यों की एक सरणी के रूप में व्याख्या की जाएगी, उदाहरण के लिए {url: [1, 2]}
, आपके सर्वर ने क्या किया है, इस पर निर्भर करता है। URL एन्कोडिंग में, यह दिखेगा url=1&url=2
।
<form name="form1">
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
हाँ।
अधिक, यह आवश्यक है यदि आप रेडियो बटन समूहों के साथ काम कर रहे हैं।
"यह अच्छा नहीं है" मुझे पता है कि हर ब्राउज़र पर सही ढंग से पर्स; यदि url एन्कोडेड स्ट्रिंग में दो url दिखाई देते हैं, तो इसे एक ऐरे के रूप में माना जाएगा। इसे JQuery में आज़माएं:
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
और आपको मिलेगा: "url=1&url=2"
एक अच्छी तरह से लिखा क्वेरी स्ट्रिंग पार्सर इस तरह से एक json संरचना लौटाएगा:
{"url":["1", "2"]}
क्या यह सख्ती से कल्पना है? नहीं, लेकिन न तो ईओएल से बचने के लिए एक बहु-पंक्ति स्ट्रिंग बना रहा है, जैसा कि मैंने ऊपर किया था।
हां - प्रत्येक केवल अपने संबंधित रूपों के साथ जमा करेगा।
यदि आप उन्हें एक ही रूप में रखते हैं, तो एक दूसरे को ओवरराइड करेगा और यह मान्य नहीं है।
EDIT: जैसा कि महमूदवक्स ने बताया है कि ओवरराइडिंग केवल कुछ भाषाओं में होती है (जैसे PHP) जो कि HTML के भीतर ही निहित नहीं है।
यह मान्य है या नहीं, यह जांचने के लिए, आप पृष्ठ बनाएँ और W3C पर यहाँ परीक्षण करें:
ए) आपका पहला उदाहरण ठीक है, क्योंकि जमा करने के समय अलग होंगे:
<form id="1">
<input type="hidden" name="url" value="1">
</form>
<form id="2">
<input type="hidden" name="url" value="2">
</form>
बी) आपका दूसरा उदाहरण भी ठीक है, लेकिन मानक कोडिंग अभ्यास नहीं:
<form>
<input type="hidden" name="url" value="1">
<input type="hidden" name="url" value="2">
</form>
जावा कोड दो मान दोनों को निकालें:
Map<String,String[]> parmMap = requestObj.getParameterMap();
String input1 = parmMap.get("url")[0];
String input2 = parmMap.get("url")[1];