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

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(); });