is it possible to have double nested input tag arrays in html?

后端 未结 2 1241
暗喜
暗喜 2020-12-17 19:26

I\'m wondering before I attempt to refactor my page if its possible to have a double nested input array in html. I have an 8X5 group of elements in a form and it would be ni

相关标签:
2条回答
  • 2020-12-17 19:34

    HTML allows you to have several inputs with the same name, which are sent to the server through POST or GET as a comma separated array, which most (all?) server side languages recognize as a native array.

    There is no native way of making a multidimensional array with pure HTML without you rolling something yourself with javascript.

    0 讨论(0)
  • 2020-12-17 19:41

    You are going to need to supply indexes into the first part of each field or else there is nothing to nest, and if it did work, it wouldn't look like a grid on the other end:

    Row 1:

     name="list[0][]"
    

    Row 2:

     name="list[1][]" 
    

    etc.

    Finally, your server needs to support this as PHP and Rails do out of the box. I am not sure about other server technologies. For an example, the following HTML when posted to PHP:

    <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>
    

    If in the PHP the following code exists:

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

    The output is:

    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 讨论(0)
提交回复
热议问题