Я пытаюсь отправить форму с элементом поля, когда пользователь нажимает кнопку. Я использую функцию change
, которая вызывается после выбора файла. Проблема заключается в том, что данные формы передаются без полевых данных. Как я могу заставить его отправить форму после установки данных поля?jQuery: отправить форму на изменение
Этот код работает нормально, если я его называю submit
вместо change
.
<form method="POST" action="public/index.php/students/edit/49" accept-charset="UTF-8" id="fileform" enctype="multipart/form-data">
<input type="button" onclick="document.getElementById('fileupload').click(); return false;" value="UPLOAD CV/RESUME" class="add" />
<input type="file" id="fileupload" style="visibility: hidden;" />
</form>
<script>
$('#fileupload').change(function()
{
var formData = new FormData($(this)[0]);
var request = $.ajax({
type: "POST",
processData: false,
contentType: false,
url: "{{URL::action('[email protected]')}}",
data: formData,
});
request.done(function(msg) {
console.log(msg);
});
request.fail(function(jqXHR, textStatus) {
console.log(textStatus);
});
});
</script>
Где 'fileupload' элемент? – Barmar
Вы пытались добавить атрибут имени в поле вашего файла? – sotoz
Аргумент 'new FormData()' должен быть формой, а не входным. – Barmar