Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
1

Как вывести надпись из вызываемого скрипта ?

30.08.2011, 09:40. Показов 2336. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте все.
Опять нужна ваша помощь

Есть скриптец загрузки файлов, суть примерно такова:

Хмтлка создает форму выбора файлов, юзая простенький javascript.
После submit'a, передается управление php-шному скрипту, который собственно выполняет загрузку файла.
Так вот, если в этом php-скрипте, я сделаю что-то наподобие "echo 'hello world';", то нихрена оно не выведется на экран. Document.write тоже не сработал.
Не сработала так же $.("#ид_контейнера").text("текст");

Как мне сделать вывод на экран ? (желательно без извращений).

Скрипты.
index.html - собственно форма загрузки.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
    <head>
        <title>Загрузка файлов Ajax с помощью Jquery</title>
        <script type="text/javascript" src="jquery.js">
        </script>
        <script type="text/javascript" src="ajaxupload.js">
        </script>
        <script type="text/javascript" src="script.js">
        </script>
    </head>
    <body>
        <div id="uploadButton" class="button"><font color=blue face=arial size=2>Выбрать и загрузить</font>
         <img id="load">
        </div>
        <ol id="files">
         </ol>
<div id='msg'></div>
    </body>
</html>
script.js - вспомогательный скрипт:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$(document).ready(function() {
 
            var button = $('#uploadButton'), interval;
 
            $.ajax_upload(button, {
                        action : 'upload.php',
                        name : 'myfile',
                        onSubmit : function(file, ext) {
                            // светим картинку
                            $("img#load").attr("src", "load.gif");
                            $("#uploadButton font").text('Загрузка');
 
                            /*
                             * Дисейблим, пока филе грузится
                             */
                            this.disable();
                        },
                        onComplete : function(file, response) {
                            // убираем картинку загрузки файла
                            $("img#load").attr("src", "");
                            $("#uploadButton font").text('Выбрать и загрузить');
                            // снова включаем кнопку
                            this.enable();
                            // показываем что файл загружен
                            $("<li>" + file + "</li>").appendTo("#files");
 
                        }
                    });
        });
Ну и собственно upload.php - скрипт, в котором мы производим манипуляции с файлом, и с которого должен вестись вывод на экран:
PHP
1
2
3
4
5
6
<?php
$uploaddir = 'files/';
$uploadfile = $uploaddir.basename($_FILES['myfile']['name']);
move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile);
echo "Хелло ворлд"; // Собсна этот метод и фейлит.
?>
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2011, 09:40
Ответы с готовыми решениями:

Как над картинкой вывести надпись?
Здравствуйте, пожалуйста помогите реализовать 1) Выводится ссылки в форме типа &lt;a&gt; &lt;img ...

как вывести надпись
Пишу прогу которая шутки выводит на произвольном месте экрана, не могу вывести label на экране, на...

Как вывести надпись о количестве посещений сайта
Немогу разобраться .Нужно вывести, чтоб на экране подряд были предложения : Здравствуйте!!! Вы...

Как вывести надпись на кнопку шрифтом Arial Armenian
Мне нужно создать кнопку с такой &quot;µ³ñ¨&quot;, надписью, если это слово посмотреть в ворде с шрифтом...

4
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
30.08.2011, 14:34 2
Цитата Сообщение от ntfs1984 Посмотреть сообщение
Javascript
1
2
3
this.disable();
...
this.enable();
А такие методы разве есть?
Цитата Сообщение от ntfs1984 Посмотреть сообщение
Javascript
1
2
onSubmit : function...
onComplete : function...
Скорее всего должно быть в нижнем регистре: onsubmit, oncomplete.
0
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
30.08.2011, 15:00  [ТС] 3
Да ) Такие методы есть, да и не столь важно, в каком регистре пишутся функции.

Смысл в том, как разрешить вывод на экран, подгружаемому скрипту ?
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
30.08.2011, 15:18 4
Цитата Сообщение от ntfs1984 Посмотреть сообщение
да и не столь важно, в каком регистре пишутся функции.
Вам не важно, а JavaScript'у важно. Он ищет "oncomplete" и не находит.
В JavaScript'е всё чувствительно к регистру. Даже ключевые слова:
Javascript
1
2
var Var = 42, If = 37, Else = Var + If;
alert(Else);
0
6 / 6 / 1
Регистрация: 25.07.2011
Сообщений: 68
31.08.2011, 05:14  [ТС] 5
Скрипт выполняет свою функцию в любом случае, даже если
Javascript
1
onCoMpLeTe : function
Вопрос был немного не в этом, а в том, почему ВЫЗВАННЫЙ из другого файла скрипт, не может выводить информацию, и как обойти сие ограничение

Добавлено через 2 часа 32 минуты
Практически разобрался.
Теперь заморочка в другом.

Упрощенные два скрипта:
html (ну и собственно, ajax-запрос):
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#uploadForm').ajaxForm({
    beforeSubmit: function(a,f,o) {
        o.dataType = "html";
        $('#uploadOutput').html('Submitting...');
 
    },
    success: function(data) {
        var $out = $('#uploadOutput');
        $out.html('Form success handler received: <strong>' + typeof data + '</strong>');
        if (typeof data == 'object' && data.nodeType)
            data = elementToString(data.documentElement, true);
        else if (typeof data == 'object')
            data = objToString(data);
        $out.append('<div><pre>'+ data +'</pre></div>');
    }
});
далее следует подключение
HTML5
1
2
3
<form id="uploadForm" action="upload.php" method="post" enctype="multipart/form-data">
-----кнопки и поля формы
</form>
Файлик upload.php грубо говоря, должен последовательно выводить некоторые данные, например 4 цифры:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
echo "test 2<br>";
ob_flush();
sleep(2);
echo "test 2<br>";
ob_flush();
sleep(2);
echo "test 3<br>";
ob_flush();
sleep(2);
echo "test 4<br>";
ob_flush();
sleep(2);
Не будем заморачиваться PHP скриптом, он работает отлично.
Вся заморочка в том, что данные, которые выводятся этим скриптом, появляются на экране по истечении работы скрипта, то есть как только срабатывает success.
Мне же надо, чтоб данные выводились непосредственно во время работы скрипта, так как они есть.
Пытался привинтить dataFilter, но почему-то не вышло
0
31.08.2011, 05:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2011, 05:14
Помогаю со студенческими работами здесь

Как в консоли вывести надпись по центру строки в зависимости от размера окна?
Чтобы всегда центровалось по центру, и без разницы какой размер окна задан у пользователя.

Как задать параметры вызываемого действия в представлении
Контрол вызывает действие. Например,...

Как в Netscape динамически менять параметры вызываемого файла?
На основной странице имеется строки: &lt;script language='JavaScript1.2' src='clside.js'&gt;&lt;/script&gt;...

Как получить данные из Runnable процесса вызываемого из CallBack функции
Доброго всем суток, вопрос новичка, учусь.. Пишу программу под Андроид, в главном классе создал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru