Отправить файл на экран вывода с помощью jQuery - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть форма: (сокращенная версия)

<form class="form-inline" id="parts-form" method="post" enctype="multipart/form-data">
    <div class="form-group">
        <label for="import-parts">Import:</label>
        <input type="file" id="import-parts" />
    </div>
</form>

С другими входными данными (только текст / выбирает) - отправка работает нормально, но у меня есть несколько jQuery, чтобы определить, есть ли файл или естьвходные данные соответствуют количеству X:

if ($('#import-parts')[0].files[0]) {
    form.attr('action', parts_url+ 'output-screen.php');
    form.submit()
} else {
    if (i > 0) {
        form.attr('action', parts_url+ 'output-screen.php');
        form.submit()
    } else {
        alert('Error! You must have at least one part selected. Please try again.')
    }
}

Условное условие истинно (я знаю это, потому что я попал в файл output-screen.php), но выполняю:

<code><div class="row">
    <?php
        echo '<pre>';
        print_r($_POST);
        echo '
';echo '
';
        print_r($_FILES);
        echo '
';?>

в output-screen.php возвращает пустые массивы - что не так с моим кодом?Почему это не показывает мне, что я ожидаю?JQuery .submit() пропускает что-то, о чем я не знаю?

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

, просто чтобы уточнить, это CSV-файл (целью является чтение CSV и использование данных в нем)

1 Ответ

0 голосов
/ 28 сентября 2018

Так что это была глупая проблема - форма ввода нуждается в атрибуте name.

ref: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes

внесение изменений в:

<input type="file" name="input" id="import-parts" />

worksТеперь я могу использовать $_FILES и посмотреть мои данные.Спасибо @kerbholz за руководство в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...