Witam,
mam do zrobienia pewną rzecz, mianowicie upload obrazka i jak zostanie przesłany to mam go przesłac do skryptu gdzie mozna go cropować i teraz mam problem nie wiem jak pobrac wartość jaka zwroci ajax i potem wywołac w odpowiednim momencie ten skrypt tak zeby działało.
ogólnie zasada działania: pobieram obrazek i zapisuje na serwerze -> przekazuje url obrazka do 2 skryptu gdzie go użytkownik może przyciąć i zapisuje go. Oba skrypty działaja bardzo dobrze nistety nie mogę ich połaczyc w jedno.
$(document).ready(function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data);
/* tutaj chce zwrocic zmiena data */
},
error: function()
{
}
});
}));
});
/* to ma sie "uaktywnic jak pobrany zostanie obrazek */
var croppicVal = {
uploadUrl:'img_save_to_file.php',
cropUrl:'img_crop_to_file.php',
modal:false,
doubleZoomControls:false,
rotateControls: false,
loaderHtml:'<div class="loader bubblingG"><span id="bubblingG_1"></span><span id="bubblingG_2"></span><span id="bubblingG_3"></span></div> ',
onBeforeImgUpload: function(){ console.log('onBeforeImgUpload') },
onAfterImgUpload: function(){ console.log('onAfterImgUpload') },
onImgDrag: function(){ console.log('onImgDrag') },
onImgZoom: function(){ console.log('onImgZoom') },
onBeforeImgCrop: function(){ console.log('onBeforeImgCrop') },
onAfterImgCrop:function(){ console.log('onAfterImgCrop') },
onReset:function(){ console.log('onReset') },
onError:function(errormessage){ console.log('onError:'+errormessage) }
}
croppicVal.customUploadButtonId = "UploadSubmit";
croppicVal.loadPicture = data; /* tu chce ja zapisac zmienna data */
var crop1 = new Croppic('crop1', croppicVal);
var crop2 = new Croppic('crop2', croppicVal);
$(document).ready(function(){
$("#CroppicSubmit").click(function(){
crop1.crop();
crop2.crop();
});
});
Coś pokombinowałem i działa mi 2/3, ale jak teraz wywołać
$("#CroppicSubmit").click(function(){
crop1.crop();
crop2.crop();
});
zeby to zadziałało? bo teraz jest to wewnatrz funkcji i nie moge się do tego dostać ;(
<script>
$(document).ready(
function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data);
/* tutaj chce zwrocic zmiena data */
var crop1 = croppicSetData('crop1',data);
var crop2 = croppicSetData('crop2',data);
},
error: function()
{
}
});
}));
}
);
function croppicSetData(divID, url) {
/* to ma sie "uaktywnic jak pobrany zostanie obrazek*/
var croppicVal = {
uploadUrl:'img_save_to_file.php',
cropUrl:'img_crop_to_file.php',
modal:false,
doubleZoomControls:false,
rotateControls: false,
loaderHtml:'<div class="loader bubblingG"><span id="bubblingG_1"></span><span id="bubblingG_2"></span><span id="bubblingG_3"></span></div> ',
onBeforeImgUpload: function(){ console.log('onBeforeImgUpload') },
onAfterImgUpload: function(){ console.log('onAfterImgUpload') },
onImgDrag: function(){ console.log('onImgDrag') },
onImgZoom: function(){ console.log('onImgZoom') },
onBeforeImgCrop: function(){ console.log('onBeforeImgCrop') },
onAfterImgCrop:function(){ console.log('onAfterImgCrop') },
onReset:function(){ console.log('onReset') },
onError:function(errormessage){ console.log('onError:'+errormessage) }
}
/*croppicVal.customUploadButtonId = "UploadSubmit";*/
croppicVal.loadPicture = url; /* tu chce ja zapisac zmienna data */
var crop = new Croppic(divID, croppicVal);
return crop;
}
$("#CroppicSubmit").click(function(){
crop1.crop();
crop2.crop();
});
</script>
Ok jakoś sobie poradziłem, tylko czy to ma ręce i nogi ;P moze ktoś napisze, człowiek się uczy cały czas a dobrze słuchać mądrzejszych (IMG:
style_emoticons/default/smile.gif)
var crop1 = null;
var crop2 = null;
$(document).ready(
function (e) {
$("#uploadForm").on('submit',(function(e) {
e.preventDefault();
$.ajax({
url: "upload.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$("#targetLayer").html(data);
/* tutaj chce zwrocic zmiena data */
if (crop1 !== null) {
crop1.destroy();
}
if (crop2 !== null) {
crop2.destroy();
}
crop1 = croppicSetData('crop1',data);
crop2 = croppicSetData('crop2',data);
},
error: function()
{
}
});
}));
}
);
function croppicSetData(divID, url) {
/* to ma sie "uaktywnic jak pobrany zostanie obrazek*/
var croppicVal = {
uploadUrl:'img_save_to_file.php',
cropUrl:'img_crop_to_file.php',
modal:false,
doubleZoomControls:false,
rotateControls: false,
loaderHtml:'<div class="loader bubblingG"><span id="bubblingG_1"></span><span id="bubblingG_2"></span><span id="bubblingG_3"></span></div> ',
onBeforeImgUpload: function(){ console.log('onBeforeImgUpload') },
onAfterImgUpload: function(){ console.log('onAfterImgUpload') },
onImgDrag: function(){ console.log('onImgDrag') },
onImgZoom: function(){ console.log('onImgZoom') },
onBeforeImgCrop: function(){ console.log('onBeforeImgCrop') },
onAfterImgCrop:function(){ console.log('onAfterImgCrop') },
onReset:function(){ console.log('onReset') },
onError:function(errormessage){ console.log('onError:'+errormessage) }
}
/*croppicVal.customUploadButtonId = "UploadSubmit";*/
croppicVal.loadPicture = url; /* tu chce ja zapisac zmienna data */
var crop = new Croppic(divID, croppicVal);
return crop;
}
$("#CroppicSubmit").click(function(){
crop1.crop();
crop2.crop();
});
Ten post edytował Lord 14.03.2016, 23:05:17