I have a with 3 tags as given below;
<input type="name" class="form-control" id="name" placeholder="Enter name" name="name[]"> <input type="text" class="form-control" id="phone" placeholder="Enter phone" name="phone[]"> <input type="file" name="Image[]" id="image" multiple />
I enter record of 2 persons. I select 2 images for 1st person and 3 images for 2nd person. When I submit form then I receive data as following;
Array ( [name] => Array ( [0] => Mr A [1] => Mr B ) [phone] => Array ( [0] => 1234567 [1] => 9876543 ) [Image] => Array ( [0] => 1 (1).png [1] => 1 (2).png [2] => 1 (3).png [3] => 1 (4).png [4] => 1 (5).png ) [submit] => Submit )
Problem is, How can I identify which images belongs to which person. I need data as separate set for each person as following
Array ( [name] => Array ( [0] => Mr A [1] => Mr B ) [phone] => Array ( [0] => 1234567 [1] => 9876543 ) [Image] => Array ( [0] => Array ( [0] => 1 (1).png [1] => 1 (2).png ) [1] => Array ( [0] => 1 (3).png [1] => 1 (4).png [2] => 1 (5).png ) ) [submit] => Submit )
Please help in this context
Advertisement
Answer
I have solved my problem myself. We could not send data as separate group unless we change name attribute. I have fixed by changing the name onClick
<input type="file" name="image[1][]" id="" onchange="countFiles()" multiple />
JQuery
function countFiles(){ var n = $(':input[type=file]').length; //counts input type file tags $(event.currentTarget).attr('name', 'image['+n+'][]'); //changes name }