Назначить значение для скрытого ввода текста с помощью JS

1

Я новичок в JavaScript.

У меня есть это:

HTML:

<form>
<t:inputFileUpload required="true" id="upload" onchange="uploadOnChange()" />
<input id="filename" type="hidden" />
<h:commandButton class="btn btn-primary" value="Upload"
            action="#{controller.upload}" />
</form>

JavaScript:

<script>
function uploadOnChange() {

document.getElementById('upload').onchange = name;

var filename = name;
var lastIndex = filename.lastIndexOf("\\");
if (lastIndex >= 0) {
    filename = filename.substring(lastIndex + 1);

document.getElementById('filename').value = filename;
}
</script>

Все, что я хочу сделать, это получить через inputFileUpload, просмотреть мой каталог, имя файла, которое я выбрал, и передать это имя в виде строки в контроллер jsf.

Кто-нибудь может мне помочь?

РЕДАКТИРОВАТЬ:

Если я добавлю в свою форму enctype="multipart/form-data кажется, что метод контроллера" upload "ничего не делает.

Теги:
jsf

1 ответ

0

Предполагая, что <t:inputFileUpload> имеет атрибут value, я бы изменил код на что-то вроде этого:

function uploadOnChange() {
  var filename = document.getElementById('upload').value;
  var lastIndex = filename.lastIndexOf("\\");
  if (lastIndex >= 0) {
    filename = filename.substring(lastIndex + 1);
    document.getElementById('filename').value = filename;
  }
  console.log('Value hidden input: ' + document.getElementById('filename').value);
}
<input type="file" required="true" id="upload" onchange="uploadOnChange()" />
<input id="filename" type="hidden" />
  • 0
    какое значение я должен добавить к inputFileUpload? Мне нужно только выбрать файл, имя которого я хочу .... Мне очень жаль, я очень неопытен.
  • 0
    Вам не нужно добавлять его, оно должно быть там, или, может быть, с другим именем. Вы должны быть в состоянии получить имя файла из inputFileUpload каким-либо образом.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню