Отправить файл на экран вывода с помощью jQuery

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

<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), но делаю:

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

        echo '<pre>';
        print_r($_FILES);
        echo '</pre>';
    ?>
</div>

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

Обновлено:

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

<input type = "file" id = "import-parts" /> требует атрибута name?
brombeer 28.09.2018 13:36

@kerbholz ... ах HTML, моя шип на в остальном идеальная роза. Мое незнание - не блаженство xD добавит и сообщит, работает ли xD

treyBake 28.09.2018 13:49

@kerbholz это сработало :) PHP - без проблем, доходит до HTML атрибут shizzle и все теряют рассудок xD

treyBake 28.09.2018 14:14

Грац, рад, что он работает;)

brombeer 28.09.2018 14:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

ссылка: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#Attributes

изменение ввода:

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

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

Другие вопросы по теме