Странное поведение с измененным типом ввода = "файл" - PullRequest
0 голосов
/ 23 марта 2012

Следуя этой теме, я попытался загрузить файл на сервер.Если я использую простую форму, как это:



<form action="/site/subscribers_import" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" />
</form>

все идет хорошо, но если я пытаюсь изменить форму, например:



<form action="/site/subscribers_import" method="post" enctype="multipart/form-data" >

    <input type="submit" value='${importLabel}' style="float: right;" />

    <div id="chooseFileBttn" style="width:3em; height: 2em; cursor:pointer; float: right;" onclick="getFile()">

    <img src="/site/images/import.png" title="${importUsers}" height="20" width="30" style="padding-right: 10px; float: right;"/>

    </div>

    <div style='height: 0px;width:0px; overflow:hidden;'>
        <input id="upfile" type="file"/>
    </div>

</form>

<script>
        function getFile(){
            document.getElementById("upfile").click();
        }
</script> 

Я ничего не получаю всервлет.У кого-нибудь есть идеи, почему это?Спасибо!

1 Ответ

1 голос
/ 23 марта 2012

Ваш рабочий вклад:

<!-- presents a name attribute -->
<input type="file" name="file" />

Ваш неработающий ввод:

<!-- does not present a name attribute, but an id instead -->
<input id="upfile" type="file"/>

Для ввода требуется имя, которое будет использоваться в качестве ключа параметра и, таким образом, восстановлено в сервлете.

...