Flashcap20
Flashcap20

Reputation: 115

How to handle javascript made inputs

I have a problem, i searched for the solution all over the internet, but i couldn't find it out :S

The problem is:

I'm creating file inputs on button click, but i can't handle these javascript made inputs because they aren't in my $_FILES array after i click on submit..

My code is:

HTML:

<form name = "galleryupload_form" method = "post" action = "#" enctype="multipart/form-data">
    <ul id = "formul">      
    </ul>
    <input type="button" value="Még egy kép feltöltése" onClick="addInput('formul');">
    <input name = "galleryupload_submit" type = "submit" value = "Küldés"/>
</form>

javascript:

var counter = 0;
var limit = 5;

function addInput(ulName) {
    if (counter == limit) {
        alert("You have reached the limit of adding " + counter + " inputs");
    } else {
        var newli = document.createElement('div');
        newli.innerHTML = "<label for = ''>Fájl " + (counter + 1) + "</label><input type='file' name='files[]'>";
        document.getElementById(ulName).appendChild(newli);
        counter++;
    }
}

If you now the solution, please let me know. Thank you.

Upvotes: 0

Views: 51

Answers (2)

Mahmood Rehman
Mahmood Rehman

Reputation: 4331

check this code .

<?php 
if(isset($_POST['galleryupload_submit'])){
 print_r($_FILES);
}
?>
<form name = "galleryupload_form" method = "post" action = "" enctype="multipart/form-data">
    <ul id = "formul">      
    </ul>
    <input type="button" value="My textbox goes" onClick="addInput('formul');">
    <input name ="galleryupload_submit" type ="submit" value ="Click Add"/>
</form>
<script>

  var counter = 0;
  var limit = 5;
        function addInput(ulName){
               if (counter == limit)  {
                alert("You have reached the limit of adding " + counter + " inputs");
            }else {
                var newli = document.createElement('div');
                newli.innerHTML = "<label for = ''>New TexBOx " + (counter + 1) +"</label><input type='file' name='files[]'>";
                    document.getElementById(ulName).appendChild(newli);
                counter++;
            }
}
</script>

Upvotes: -1

Quentin
Quentin

Reputation: 944069

Referring to the question before editing:

File inputs appear in $_FILES not $_POST.


After editing, I cannot reproduce the problem.

Upvotes: 3

Related Questions