Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Асинхронная загрузка контента вродовского файла 
:(
    Опции темы
Cross
Дата 25.4.2011, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте! 

Проблема такая: необходимо дать пользователю возможность загружать контент в поле <TEXTAREA> из документов MS WORD. Без перезагрузки страницы, т.е. через AJAX. 

Для редактирования контента использую TinyMCE. 
Код

<!-- подключение визуального редактора TinyMCE -->
 <form method="post" action="somepage">
        <textarea name="content" style="width:100%">
        </textarea>
</form>


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

Вот код для считывания контента (но это с загрузкой файла на сервер и с перезагрузкой страницы):

Код

function uploadFile() {
    $uploaddir = "resources";
    $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']);
    if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile))
    echo "<h3>Файл успешно загружен на сервер</h3>";
    else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; }
    move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploaddir.$_FILES['uploadfile']);
    $str = "'".$uploaddir.(string)$_FILES["uploadfile"]["name"]."'";
    
        $word = new COM("word.application") or die ("Could not initialise MS Word object.");
    $word->Documents->Open($str); 
    $content = (string) $word->ActiveDocument->Content; 
    echo "<script type=\"text/javascript\">ajaxLoad('".$content."');</script>";
        $word->ActiveDocument->Close(false); 
        $word->Quit(); 
        $word = null; 
        unset($word); 
 }


Как бы сделать это на AJAX? 

В редакторе TinyMCE есть стандартная функция для асинхронной загрузки:

Код

function ajaxLoad() {
    var ed = tinyMCE.get('content');
    // Do you ajax call here, window.setTimeout fakes ajax call
    ed.setProgressState(1); 
    window.setTimeout(function() {
            ed.setProgressState(0); 
            ed.setContent('HTML content that got passed from server.');
    }, 3000);
}


P.S. только вчера начала изучать AJAX - не совсем понимаю как это реализовать. 
Помогите пожалуйста. 
Заранее благодарю ) 
PM MAIL ICQ Skype MSN   Вверх
Noviy
Дата 25.4.2011, 21:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



Воспользуйтесь http://api.jquery.com/jQuery.post/
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0762 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.