2009-12-30 3 views
7

यदि मैं एचटीएमएल में डबल नेस्टेड इनपुट सरणी रखना संभव है तो मैं अपने पृष्ठ को दोबारा करने का प्रयास करने से पहले सोच रहा हूं। मैं एक के रूप में तत्वों की एक 8X5 समूह है और यह अच्छा होगा मुझे सरणियों की एक सरणी का उपयोग कर इसे पार्स करने के लिए सक्षम होने के लिए के लिए ... की तरहक्या एचटीएमएल में डबल नेस्टेड इनपुट टैग एरे होना संभव है?

<input type="text" name="list[][]" /><input type="checkbox" name="list[][]" /> 

और इतने

पर
+0

अपने सर्वर प्रसंस्करण क्या है भाषा? मेरा मानना ​​है कि PHP इसे संभाल सकता है। –

+0

डैरेल: PHP का उपयोग कर रहा हूँ। मुझे क्या आश्चर्य है कि अगर $ _POST ['elem_name'] सरणी की सरणी होगी या यदि यह कचरा होगा। –

उत्तर

13

आप प्रत्येक खाने के पहले भाग में अनुक्रमित आपूर्ति करने के लिए या फिर घोंसला की कोई बात नहीं है की जरूरत करने जा रहे हैं, और अगर यह काम किया है, यह दूसरे छोर पर एक ग्रिड की तरह नहीं होगा:

पंक्ति 1:

name="list[0][]" 

पंक्ति 2:

name="list[1][]" 

आदि

अंत में

, यो यूआर सर्वर को इसका समर्थन करने की जरूरत है क्योंकि PHP और रेल बॉक्स से बाहर हैं। मैं अन्य सर्वर प्रौद्योगिकियों के बारे में निश्चित नहीं हूँ। एक उदाहरण के लिए, HTML निम्नलिखित जब पीएचपी पर पोस्ट किया:

<form action="post.php" method="POST" accept-charset="utf-8"> 
    <input type="text" name="list[0][]" value="1" /> 
    <input type="text" name="list[0][]" value="2" /> 
    <input type="text" name="list[0][]" value="3" /> 

    <input type="text" name="list[1][]" value="4" /> 
    <input type="text" name="list[1][]" value="5" /> 
    <input type="text" name="list[1][]" value="6" /> 

    <input type="text" name="list[3][]" value="7" /> 
    <input type="text" name="list[3][]" value="8" /> 
    <input type="text" name="list[3][]" value="9" /> 

    <input type="submit" name="Send" value="Send" id="Send" /> 
</form> 

पीएचपी में निम्न कोड मौजूद है:

<?php print_r($_POST['list']); ?> 

उत्पादन होता है:

Array 
(
    [0] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
     ) 

    [1] => Array 
     (
      [0] => 4 
      [1] => 5 
      [2] => 6 
     ) 

    [3] => Array 
     (
      [0] => 7 
      [1] => 8 
      [2] => 9 
     ) 

) 
+0

तो आप केवल उन फ़ील्ड नाम दे रहे हैं जिनके पास संख्या है। आप कार्यक्षमता को फिक्र कर रहे हैं, यह वास्तव में HTML4 द्वारा समर्थित नहीं है। – voyager

+0

तो अगर मैं हूं तो क्या? मैं बस फॉर्म के दूसरे छोर पर अपने PHP कोड करने के लिए थोड़ा और सुरुचिपूर्ण बनाने की कोशिश कर रहा हूं :) –

+1

मैंने PHP में एक उदाहरण प्रदान करने के लिए अपना उत्तर अपडेट किया। @ voyager, मैं वास्तव में कुछ भी नहीं कर रहा हूं क्योंकि फ़ील्ड मान्य HTML4 नाम हैं और इसका समर्थन करने के लिए सर्वर तकनीक तक है। –

0

एचटीएमएल आप की अनुमति देता है कुछ उसी नाम के साथ कई इनपुट प्राप्त करने के लिए, जो POST के माध्यम से सर्वर पर भेजे जाते हैं या अल्पविराम से अलग सरणी के रूप में जीईटी प्राप्त करते हैं, जो अधिकांश (सभी?) सर्वर साइड भाषाएं देशी सरणी के रूप में पहचानती हैं।

शुद्ध HTML के साथ बहुआयामी सरणी बनाने का कोई मूल तरीका नहीं है, बिना किसी जावास्क्रिप्ट के अपने आप को रोल किए।

+0

PHP समान नाम वाले फ़ील्ड को सरणी के रूप में नहीं पहचानता है। वास्तव में, यह केवल अंतिम निर्धारित मूल्य लौटाएगा। 'd = 1 और d = 2 और d = 3'' _ _GET ['d'] के साथ पुनर्प्राप्त होने पर '3" ' –

+0

@Doug Neiner: मैंने कभी भी 'हैलो, वर्ल्ड' से बड़ा कुछ भी PHP का उपयोग नहीं किया है, इसलिए मैंने माना कि यह एएसपी, पायथन, रूबी और (मुझे लगता है) पर्ल की तरह काम करता है। – voyager

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