我有一个图像管理器,上面有描述,可以在其中修改图像和图像文件的文本。
这个想法是要能够保存我在数据库中所做的修改,但是我发现的方法是仅在修改图像时保存。如果我不修改图像,则无法保存文本的修改。
我想到能够在click函数中访问imagePopup变量并能够解决问题,但是我不知道这是否可能。
也许您知道一种更好的方法,但我没有看到。
感谢您的帮助!
我给您JQUERY代码:
/*=============================================
UPLOAD IMAGE
=============================================*/
$("#subirPopup").change(function(){
var imagenPopup = this.files[0];
/*=============================================
VALIDATE JPG O PNG
=============================================*/
if(imagenPopup["type"] != "image/jpeg" && imagenPopup["type"] != "image/png"){
$("#subirLogo").val("");
swal({
title: "Error al subir la imagen",
text: "¡La imagen debe estar en formato JPG o PNG!",
type: "error",
confirmButtonText: "¡Cerrar!"
});
/*=============================================
VALIDATE SIZE IMAGE
=============================================*/
}else if(imagenPopup["size"] > 2000000){
$("#subirLogo").val("");
swal({
title: "Error al subir la imagen",
text: "¡La imagen no debe pesar más de 2MB!",
type: "error",
confirmButtonText: "¡Cerrar!"
});
/*=============================================
PREVISUALIZATION
=============================================*/
}else{
var datosImagen = new FileReader;
datosImagen.readAsDataURL(imagenPopup);
$(datosImagen).on("load", function(event){
var rutaImagen = event.target.result;
$(".previsualizarPopup").attr("src", rutaImagen);
})
}
/*=============================================
SAVE CHANGES
=============================================*/
$("#guardarPopup").click(function(){
var tituloPopup = $("#tituloPopup").val();
var textoBotonPopup = $("#textoBotonPopup").val();
var rutaBotonPopup = $("#rutaBotonPopup").val();
var datos = new FormData();
datos.append("tituloPopup", tituloPopup);
datos.append("textoBotonPopup", textoBotonPopup);
datos.append("rutaBotonPopup", rutaBotonPopup);
datos.append("imagenPopup", imagenPopup);
$.ajax({
url:"ajax/popup.ajax.php",
method: "POST",
data: datos,
cache: false,
contentType: false,
processData: false,
success: function(respuesta){
if(respuesta == "ok"){
console.log(respuesta);
swal({
title: "Cambios guardados",
text: "¡La plantilla ha sido actualizada correctamente!",
type: "success",
confirmButtonText: "¡Cerrar!"
});
}
}
})
})
})
答案 0 :(得分:1)
尝试在更改功能之外声明imagenpopup ...
var imagenPopup='';
$("#subirPopup").change(function(){
imagenPopup = this.files[0];
/*=============================================
VALIDATE JPG O PNG
=============================================*/
if(imagenPopup["type"] != "image/jpeg" && imagenPopup["type"] != "image/png"){
$("#subirLogo").val("");
swal({
title: "Error al subir la imagen",
text: "¡La imagen debe estar en formato JPG o PNG!",
type: "error",
confirmButtonText: "¡Cerrar!"
});
/*=============================================
VALIDATE SIZE IMAGE
=============================================*/
}else if(imagenPopup["size"] > 2000000){
$("#subirLogo").val("");
swal({
title: "Error al subir la imagen",
text: "¡La imagen no debe pesar más de 2MB!",
type: "error",
confirmButtonText: "¡Cerrar!"
});
/*=============================================
PREVISUALIZATION
=============================================*/
}else{
var datosImagen = new FileReader;
datosImagen.readAsDataURL(imagenPopup);
$(datosImagen).on("load", function(event){
var rutaImagen = event.target.result;
$(".previsualizarPopup").attr("src", rutaImagen);
})
}
/*=============================================
SAVE CHANGES
=============================================*/
$("#guardarPopup").click(function(){
var tituloPopup = $("#tituloPopup").val();
var textoBotonPopup = $("#textoBotonPopup").val();
var rutaBotonPopup = $("#rutaBotonPopup").val();
if(imagenPopup == ''){
var datos = new FormData();
datos.append("tituloPopup", tituloPopup);
datos.append("textoBotonPopup", textoBotonPopup);
datos.append("rutaBotonPopup", rutaBotonPopup);
datos.append("imagenPopup", imagenPopup);
$.ajax({
url:"ajax/popup.ajax.php",
method: "POST",
data: datos,
cache: false,
contentType: false,
processData: false,
success: function(respuesta){
if(respuesta == "ok"){
console.log(respuesta);
swal({
title: "Cambios guardados",
text: "¡La plantilla ha sido actualizada correctamente!",
type: "success",
confirmButtonText: "¡Cerrar!"
});
}
}
})
}) } else {
swal({
title: "Error al subir la imagen",
text: "Some Error",
type: "error",
confirmButtonText: "¡Cerrar!"
});
}})
答案 1 :(得分:1)
在每个函数的顶部声明变量
var imagenPopup='';
$("#subirPopup").change(function(){
//.. add more code
});
$("#guardarPopup").click(function(){
//.. add more code
});