|
|
|
| Проблема такая!
Я хочу сделать обрезку изображений.
Для этого хотел использовать один из скриптов 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. Я перерыл около сотни сайтов и форумов и не только в зоне ру. | |
|
|
|
|
|
|
|
для: SDone
(24.02.2009 в 10:39)
| | назначте рисунку событие
$(картинка).load(function () {
});
и по нему запускайте
jQuery('#cropbox').Jcrop();
или
$('img#example').imgAreaSelect({
selectionColor: 'blue',
onSelectEnd: someFunction
}); | |
|
|
|
|
|
|
|
для: AlexSol
(24.02.2009 в 11:09)
| | onload :) | |
|
|
|
|
|
|
|
для: sl1p
(24.02.2009 в 15:36)
| | нет. в jquery другие имена событий | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: SDone
(24.02.2009 в 20:06)
| | что это за loa.js я не знаю. нет такой страницы. если ваш скрипт подгузки не сообщает когда данные зпгружены, то никак. ищите другой скрипт | |
|
|
|
|
|
|
|
для: AlexSol
(24.02.2009 в 21:06)
| | http://power-pump.ru/time/themes.php
ссылка на страницу | |
|
|
|
|
|
|
|
для: 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>
|
| |
|
|
|
|
|
|
|
для: 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'] пусто. | |
|
|
|
|
|
|
|
для: SDone
(25.02.2009 в 18:22)
| | попробуйте отправлять как тут http://www.malsup.com/jquery/form/ | |
|
|
|
|
|
|
|
для: 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> | |
|
|
|
|
|
|
|
для: 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)
}
});
});
|
| |
|
|
|