За последние 24 часа нас посетил 62061 программист и 1677 роботов. Сейчас ищут 957 программистов ...

Upload изображений и отправка на сервер

Тема в разделе "JavaScript и AJAX", создана пользователем TigerZaka, 10 ноя 2014.

  1. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    Всем привет!
    Есть форма обратной связи с возможностью аттачить файлы.
    Код (Text):
    1.  
    2. <form id="send_form" method="post" enctype="multipart/form-data">
    3.   <input type="text" name="userName" />
    4.   <input type="tel" name="userPhone" />
    5.   <input type="email" name="userEmail" />
    6.   <input type="text" name="userOrg" />
    7.   <textarea rows="4" cols="30" name="userText"></textarea>
    8.   <input type="file" multiple id="files" name="files[]"/>
    9.   <output id="list" ></output>
    10. </form>
    и ajax
    Код (Text):
    1.  
    2. $(document).ready(function() {
    3.         form = $('#send_form');
    4.         form.submit(function(e) {
    5.             e.preventDefault();
    6.  
    7.             $.ajax({
    8.                 url: 'send.php',
    9.                 type: 'POST',
    10.                 data: form.serialize(),
    11.                 success: function(msg) {
    12.                     alert(msg);
    13.                 }
    14.             }); return false;
    15.         });
    16.     });
    в send.php просто
    Код (Text):
    1.  
    2. var_dump($_POST);die;
    при сабмите приходит все, кроме прикрепленных файлов, что я не так делаю?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    файлы не в _POST а в _FILES живут
     
  3. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Мой вам совет делайте формы через javascript браузер, всякие боты, сканеры и роботы не смогут их увидеть и нам же наруку, ненужны будут каптчи.
     
  4. TigerZaka

    TigerZaka Активный пользователь

    С нами с:
    16 сен 2011
    Сообщения:
    189
    Симпатии:
    1
    спасибо, но проблема в том, что $_FILES возвращается пустым массивом. В чем может быть причина?

    Спасибо за совет!
     
  5. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    А где у тебя кнопка для отправки?)
    Да вот все тоже хочу закончить расширение для создания форм на js. =)
    Чтобы можно было любую форму создать, по любой траектории если уже на то пошло.=)
     
  6. goszowski

    goszowski Новичок

    С нами с:
    10 ноя 2014
    Сообщения:
    5
    Симпатии:
    0
    - вот имя поля очень странное. Попробуй использовать другое имя, состоящее из букв.
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    дьюд, это фича создает "массив полей". то есть несколько файлов разрешает загрузить в один ключ запроса. проблема у человека в том что он сериализует форму но файлы к форме не относятся потому что они не прочитаны в форму. инпут-тайп-файл заменяет относительный путь выбранный пользователем на бинарное содержимое файла только в момент отправки. по стандарту. но есть вариант прочитать жаваскриптом и без отправки формы. и именно это ТС и пропускает.
     
  8. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Верно, потому, что фитча складывает это в контейнер какой-то другой, якобы для того, чтобы можно было изменять вид добавляемых файлов =)
    К форме они конечно же не относятся, но если сереализуем, будут =)