Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как заставить пахать мозилу и оперу???
 
 автор: SDone   (24.02.2009 в 10:39)   письмо автору
 
 

Проблема такая!
Я хочу сделать обрезку изображений.

Для этого хотел использовать один из скриптов ajax:
http://odyniec.net/projects/imgareaselect/
или
http://deepliquid.com/projects/Jcrop/demos.php?demo=basic

Но проблема в том, что я подгружаю рисунок в страницу. И из за этого я ни как не могу запустить скрипт выделения. Причем ни один из них.
Вызывал из самой страницы, пробовал вызывать из прогружаемой в IE все работает, но вот мозила и опера отказываются.

Пробовал:
1 onload(jQuery(function(){jQuery('#cropbox').Jcrop();}));
2 window.onload = jQuery(function(){jQuery('#cropbox').Jcrop();});
3 пробовал запихивать этот код в отдельную функцию и оставить в странице, а в подгружаемом документе сделал кнопку и методом onclick вызывал функцию.

Самое интересно что заметил – функция работает и вызывается, а вот jQuery(function(){jQuery('#cropbox').Jcrop();}); не работает.

Прошу учесть то что php выводит так:
$text = htmlentities($text,0,"windows-1251");
$trans_tbl = get_html_translation_table (HTML_ENTITIES);
$trans_tbl = array_flip ($trans_tbl);
$text = strtr ($text, $trans_tbl);
echo $text;

Далее.
Рисунок с идом в подгружаемом документе, а все библиотеки включены в страницу.
Заранее спасибо.

P.S. Я перерыл около сотни сайтов и форумов и не только в зоне ру.

  Ответить  
 
 автор: AlexSol   (24.02.2009 в 11:09)   письмо автору
 
   для: SDone   (24.02.2009 в 10:39)
 

назначте рисунку событие

$(картинка).load(function () {
});

и по нему запускайте
jQuery('#cropbox').Jcrop();
или
$('img#example').imgAreaSelect({
selectionColor: 'blue',
onSelectEnd: someFunction
});

  Ответить  
 
 автор: sl1p   (24.02.2009 в 15:36)   письмо автору
 
   для: AlexSol   (24.02.2009 в 11:09)
 

onload :)

  Ответить  
 
 автор: AlexSol   (24.02.2009 в 17:36)   письмо автору
 
   для: sl1p   (24.02.2009 в 15:36)
 

нет. в jquery другие имена событий

  Ответить  
 
 автор: SDone   (24.02.2009 в 20:06)   письмо автору
 
   для: AlexSol   (24.02.2009 в 17:36)
 

Уточню проблему еще раз!!!
Страница на в которую подгружаем данные (index.html):
К странице подключены:
<script type="text/javascript" src="siteHttp/ajax/loa.js"></script>
<script type="text/javascript" src="siteHttp/ajax/jquery.pack.js"></script>
<script type="text/javascript" src="siteHttp/ajax/jquery.imgareaselect-0.6.2.min.js"></script>
По нажатию в страницу подгружается рисунок.

Данные, которые получаем, используя loa.js, но получаем из php скрипта:
<img id=" example" src="../file/img.jpg" />

Использую данный элемент для выделения рисунка: http://odyniec.net/projects/imgareaselect/
Для подгрузки: power-pump.ru/docs/time/loa.js

  Ответить  
 
 автор: AlexSol   (24.02.2009 в 21:06)   письмо автору
 
   для: SDone   (24.02.2009 в 20:06)
 

что это за loa.js я не знаю. нет такой страницы. если ваш скрипт подгузки не сообщает когда данные зпгружены, то никак. ищите другой скрипт

  Ответить  
 
 автор: SDone   (24.02.2009 в 21:51)   письмо автору
 
   для: AlexSol   (24.02.2009 в 21:06)
 

http://power-pump.ru/time/themes.php
ссылка на страницу

  Ответить  
 
 автор: AlexSol   (25.02.2009 в 10:30)   письмо автору
 
   для: SDone   (24.02.2009 в 21:51)
 

вы подключаете слишком много скриптов. извените, но разбираться в них у меня нет времени. что вам нужно сделать я уже писал выше - определите событие окончания загрузки данных и по нему сделайте инициацию jquery.imgareaselect

на jquery будет выглядеть примерно так


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title></title>

<script type="text/javascript" src="http://power-pump.ru/time/ajax/jquery.pack.js"></script>
<script type="text/javascript" src="http://power-pump.ru/time/ajax/jquery.imgareaselect-0.6.2.min.js"></script>



<script type="text/javascript">
$('document').ready(function(){init()})

function init(){
    $('#uploadButton').click(function(){
        // отправка данных через пост запрос
        $.post("http://power-pump.ru/time/include/img-load.php", { img: $('#fileselect').attr('value') },
        function(data){
            //вызывается когда получен ответ от пхп
            //вставляет данные
            $('#photoLoad').html(data);
            alert(data)
            //инициирует скрипт-обрезалку
            $('#photo').imgAreaSelect({
            selectionColor: 'blue',
            onSelectEnd: someFunction
            });
            
        });
        return false;
    })

}
</script>
</head>

<body>


<div>
    <div style="float:left; height:30px; width:150px;">Ваше фото: </div>
    <div style="float:left; height:30px;">
<form action="" enctype="multipart/form-data" method="post" id="testForm">      
            <input id="fileselect" type="file" name="testFile"/>
</form>
            <input type="button" id="uploadButton" value="Upload"/>
    </div>
    <div style="clear:both;"></div>
    
   
    <div id="photoLoad">
        
    </div>
</div>
<div style="clear:both;"></div>

</body>
</html>

  Ответить  
 
 автор: SDone   (25.02.2009 в 18:22)   письмо автору
 
   для: AlexSol   (25.02.2009 в 10:30)
 

А можно спросить еще раз?
Как я понял $.post отправляет post запрос. А в php файле я принимаю картинку таким способом:
$_FILES['testFile']['name']

$uploaddir = '../file/';
$uploadfile = $uploaddir . basename($_FILES['testFile']['name']);

if (move_uploaded_file($_FILES['testFile']['tmp_name'], $uploadfile)) {
echo basename($_FILES['testFile']['name']);
} else {
echo "error";
}

если это так, то ни черта не получается.
Запрос идет, но вот только в $_FILES['testFile'] пусто.

  Ответить  
 
 автор: AlexSol   (25.02.2009 в 23:31)   письмо автору
 
   для: SDone   (25.02.2009 в 18:22)
 

попробуйте отправлять как тут http://www.malsup.com/jquery/form/

  Ответить  
 
 автор: SDone   (26.02.2009 в 20:52)   письмо автору
 
   для: AlexSol   (25.02.2009 в 23:31)
 

Нет то не то!!!

Поискав в интернете я наткнулся вот на это:
http://www.michaelmitchell.co.nz/one-click-upload/

Все это почти устраивает, но ...
Проблема в том что я не могу вывести html, вывожу html, но все теги обрезаются и получаю текст.

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

$(document).ready(function() {
$('#upload1').upload({
name: 'testFile',
method: 'post',
enctype: 'multipart/form-data',
action: '<?=$siteHttp?>/include/upload.php', // файл принимает изображение и ворачивает его имя
onSubmit: function() {
$('#progress1').text('Uploading file...');
},
onComplete: function(data) {
//data contains the response from the action url
//$('#progress1').text('Your file was uploaded successfully');
//$('#progress1').text(data);
//$('#photoLoad').html(data);

// Функция для выделения. она как раз не пашет, но должна то.
$('#sds').imgAreaSelect({
selectionColor: 'blue',
onSelectEnd: someFunction
});

returnData('photoLoad', '<?=$siteHttp?>/include/img-load.php?img', data); // моя функция - загружает файл и текст для него - html (рисунок с sds)
}
});
});
</script>

  Ответить  
 
 автор: SDone   (26.02.2009 в 20:52)   письмо автору
 
   для: AlexSol   (25.02.2009 в 23:31)
 

Нет то не то!!!

Поискав в интернете я наткнулся вот на это:
http://www.michaelmitchell.co.nz/one-click-upload/

Все это почти устраивает, но ...
Проблема в том что я не могу вывести html, вывожу html, но все теги обрезаются и получаю текст.

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

$(document).ready(function() {
    $('#upload1').upload({
    name: 'testFile',
    method: 'post',
    enctype: 'multipart/form-data',
    action: '<?=$siteHttp?>/include/upload.php', // файл принимает изображение и ворачивает его имя
    onSubmit: function() {
        $('#progress1').text('Uploading file...');
    },
    onComplete: function(data) {
        //data contains the response from the action url
        //$('#progress1').text('Your file was uploaded successfully');
        //$('#progress1').text(data);
        //$('#photoLoad').html(data);
        
        // Функция для выделения. она как раз не пашет, но должна то.
            $('#sds').imgAreaSelect({ 
            selectionColor: 'blue', 
            onSelectEnd: someFunction 
            });
    
                         returnData('photoLoad', '<?=$siteHttp?>/include/img-load.php?img', data); // моя функция - загружает файл и текст для него - html (рисунок с sds)    
    }
});
});

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования