Загрузка jaixsom

 
0
 
JavaScript
ava
Predator199 | 23.01.2013, 20:26
Вообщем:

<div class="attach"> 
      <input id="file_fake"  type="text" readonly="readonly" value="..." /> 
      <span class="file" title="Выбрать файл">
            <input name="uploadimg" type="file" name="attach" class="file_select"  onchange=document.getElementById("file_fake").value=this.value; >
         <input type="button" class="file_select_btn" value="Выбрать файл" />
       </span>
</div>




jQuery('[type=file]').change(function() {
             alert ("Файл выбран");
             
            var data = $(this).serialize();
            $.ajax({
                type:'POST',
                url:'ajax.php?do=ajax_news',
                data:data + '&go=2',
                dataType: 'json',
                success: function(result) {
            if (result.status)
            $('#status').html(result.status);
                             
                }
            });
                return false; 
        });




Так, файл выбрали, нужно принять название и тд в php



echo json_encode(array('status' =>$_FILES['uploadimg']['tmp_name']));

        
И в итоге $_FILES['uploadimg']['tmp_name']) пуста, подскажите что не так. Как отправить данные выбранного файла jaixcom в php
Kommentare (16)
ava
skyboy | 23.01.2013, 19:41 #

var data = $(this).serialize();

и что ожидается от этого кода?
смотрел, что он возвращает?
наобум писал?
ava
Predator199 | 23.01.2013, 19:55 #
Смотрел, но оставил лишь из-за того, что без него обновл страница. Не знаю почему.
ava
mullih | 23.01.2013, 20:00 #
файлы через javascript аяксом не отправить, может что для html5 есть но вроде нету
ava
Predator199 | 23.01.2013, 20:08 #
Мне нужно, выбираю файл, он загружается на сервер без обновл страницы. После добавляю к элементу загруженную картинку. Есть еще какие нибудь способы.


Щас прописываю:

'status' =>'jjj'

Получаю ответ. Прописываю так:

'status' =>$_FILES['uploadimg']['size']

нет ответа.
ava
Predator199 | 23.01.2013, 20:25 #
Как тут реализовано?
http://yaroslavl.yar.slando.ru/post-new-ad/
ava
Арантир | 23.01.2013, 21:38 #
Predator199, интересно, как вас угораздило забраться в дебри веб-разработки?

Загрузки без перезагрузки пока еще не изобрели. Но изобрели такую вещь, как фреймы. А фреймы, как известно, могут загружаться параллельно друг другу.
Все, что надо сделать, это скриптами заставить форму отправится не из основной страницы, а из фрейма.
А для форм и ссылок целевой фрейм задается атрибутом target.
ava
Predator199 | 23.01.2013, 21:41 #
Вот к примеру. Я передаю путь через get в php. Далее можно загрузить как нибудь файл?
Можно ли и js и php писать в файле с расширением php. И сделать загрузку файлов не обновл страницу? Без фреймов.
ava
Арантир | 23.01.2013, 21:54 #
Predator199, вот и что ответишь после этого...
Вы хотя бы попытки делали разобраться во всем этом? Или так, наугад код пишите?

Нельзя! Нельзя уже ничего сделать сервером, зная тупо название (путь) файла на компьютере пользователя. Политика безопасности, ё-маё.

Не лезьте вы сразу в аякс! Возьмите, сделайте на странице фрейм и отправьте из него файл. Для начала!
А уже потом прицепите туда аякс.
ava
Predator199 | 23.01.2013, 22:01 #
Не люблю я эти фреймы. Страница кажется как на соплях... Без фремов, куда все надежней прекрепленно...
Вы скажите, если перемешаю php с js. Можно ли загрузить файл. На мой взгляд можно, тут и jaix нет. Все в 1 скрипте, выполняется последовательно. Если можно так сделать, то буду писать, а  так время убивать не охота, чтоб под конец зайти в тупик. И вновь к старту, к тому с чего начинал задумку.
ava
skyboy | 23.01.2013, 22:20 #
Цитата (Predator199 @  23.1.2013,  21:01 findReferencedText)
jaix 

ajax, ajax
Цитата (Predator199 @  23.1.2013,  21:01 findReferencedText)
Вы скажите, если перемешаю php с js

толку-то?
на сервере выполнится PHP часть.
потом отдастся клиенту.
клиент выполнит javascript часть.
и всё.
давали же ссылку на азы. можно, конечно, упрямиться, но существующий механизм это не изменит.
отправить данные на сервер можно только двумя способами: с перезагрузкой страницы/фрейма и XMLHttpRequest.
Чтоб передавать вторым способом, при помощи FireReader API, который еще не каждым браузером и поддерживается, надо знать, почему выбираешь именно это.
Чтоб использовать первый способ надо намного меньше усилий. Кроме того,
Цитата (Predator199 @  23.1.2013,  21:01 findReferencedText)
Страница кажется как на соплях...

странный аргумент. iframe никого никуда не сдвигает. сидит себе, блочный элемент… jQuery предлагает вообще радикальное решение: создается невидимый iframe, там создается форма, в форму клонируется input[type=file] с уже выбранным файлом, форма отправляется. всё. даже видимых элементов нет.
кста, есть еще и третий вариант: использование flash или java плагина. но то не лучшая альтернатива 
ava
Арантир | 23.01.2013, 22:21 #
Повторяю еще раз: Загрузка файлов без перезагрузки страницы производится через фрейм.
Объясняю: фрейм - это не "кривое страшное квадратное посреди страницы", фрейм - это такой тег! И куда вы его вставите и вообще ли он будет виден - это уже совсем другой вопрос.
Его можно вообще создать через JS, так чтобы на самой странице его как бы и не существовало никогда.

Отправляете форму с файлом во фрейм. Во фрейме вам все аккуратненько загружается на сервер самым обычным образом. При этом сама страница не перезагружается. Вам всего лишь нужно тем же JS получить ответ из фрейма и написать мол файл загружен. Вот и все.

später ergänzt:
Мне уже страшно заглядывать в темы с автором Predator199 =) 
ava
Predator199 | 23.01.2013, 23:44 #
Фрейм js-бред, не то.
Сделаю через:
<frame></frame>
Можно брать избр через jaix, бд. Но мне щас не это интересно.
На странице, которую буду выводить через frame. На ней буду размещать загруженные изображения к новоти. Размеры как проставлять?
Нужно чтоб фрем растягивался в высоту, до той высоты скок выведено строчек изображений. Как сделать?
display, поможет?
ava
skyboy | 24.01.2013, 00:27 #
Цитата (Predator199 @  23.1.2013,  22:44 findReferencedText)
Фрейм js-бред, не то.

 smile тебе виднее.
ava
Арантир | 24.01.2013, 00:35 #
Цитата (Predator199 @  23.1.2013,  22:44 findReferencedText)
Фрейм js-бред, не то.

Сделаю через:

<frame></frame>

Можно брать избр через jaix, бд. Но мне щас не это интересно.

На странице, которую буду выводить через frame. На ней буду размещать загруженные изображения к новоти. Размеры как проставлять? 

Нужно чтоб фрем растягивался в высоту, до той высоты скок выведено строчек изображений. Как сделать?

display, поможет?
Зачем же столь глубоко осведомленному в HTML, JS и PHP человеку понадобилась помощь всяких разных людей, советующих бред?

Эпично:
Цитата (Predator199 @  23.1.2013,  19:25 findReferencedText)
Как тут реализовано?

http://yaroslavl.yar.slando.ru/post-new-ad/ 

Цитата (skyboy @  23.1.2013,  21:20 findReferencedText)
перезагрузкой страницы/фрейма
Цитата (Arantir @  23.1.2013,  21:21 findReferencedText)
через фрейм
Цитата (Predator199 @  23.1.2013,  22:44 findReferencedText)
Фрейм js-бред, не то.
Цитата (Predator199 @  23.1.2013,  21:01 findReferencedText)
Если можно так сделать, то буду писать, а  так время убивать не охота, чтоб под конец зайти в тупик.

Остается только добавить что-то вроде: "да ты уже в тупике, парень".

Напишите свой браузер! Если вам настолько класть на все существующие стандартны, то напишите приложение, которое будет делать все именно так, как хочется вам.

P.S.: Если я задел чьи-то чувства оффтопом, то можете не беспокоится, на сием посте мои руки окончательно опустились в отношении Predator199.
ava
Predator199 | 24.01.2013, 13:12 #
Да мне не в модальном окне нужно, как-реализовано на dle.

Дак какой же будит выход, как заставить растягиваться в высоту.
Цитата


Сделаю через:

<frame></frame>

Можно брать избр через jaix, бд. Но мне щас не это интересно.

На странице, которую буду выводить через frame. На ней буду размещать загруженные изображения к новоти. Размеры как проставлять? 

Нужно чтоб фрем растягивался в высоту, до той высоты скок выведено строчек изображений. Как сделать?

display, поможет?



Если с <frame> - сделать нельзя, тогда буду брать изображения с бд после загрузки и выводить. Ток зачем я это буду это делать, если можно растягивать фрем. Я этого не знаю, вот и спрашиваю.
ava
Aliance | 24.01.2013, 15:00 #
Зачем растягивать фрейм? Фрейм должен быть невидимый, лишь для посылки на сервер файлов без перезагрузки окна с фреймсетом.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden